Vue+Jest 单元测试

新到一个公司,要求单元测试覆盖率达50%以上,我们都是后补的单测,其实单测的意义是根据需求提前写好,驱动开发,代替手动测试。然鹅这只是理想。。。

这里总结一下各种遇到的单测场景

  1. 挂载组件,调用elementui, mock函数
```javascript

describe('页面验证', () => {
   
	const wrapper = getVue({
   
	    component: onlineFixedPrice,
	    callback(Vue) {
   
	      Vue.use(elementUi)
	    },
	    mocks: {
   
		  $route: {
   
	        query: {
   
	          id: '13945416091902200'
	        }
	      },
	      $store: {
   
	        state: {
   
	          name: 'meimei'
	        }
	      },
	      $refs: {
   
	        form: {
   
	          height: 300
	        }
	      },
	      $message: {
   
	        error() {
   
	          return jest.fn()
	        }
	      }
		}
	})
}
  1. 测试接口:
    jest.fn(),jest.mock()和jest.spyOn(), 都能创建mock函数,在实际项目的单元测试中:
    1)jest.fn()常被用来进行某些有回调函数的测试;
    2)jest.mock()可以mock整个模块中的方法,当某个模块已经被单元测试100%覆盖时,使用jest.mock()去mock该模块,节约测试时间和测试的冗余度是十分必要;
    3)当需要测试某些必须被完整执行的方法时,常常需要使用jest.spyOn()。
    这些都需要根据实际的业务代码灵活选择
```javascript

<!-- hello.js -->

                    
                    

你可能感兴趣的:(前端,vue,单元测试,vue)