测试覆盖率
jest⾃自带覆盖率,如果⽤用的 mocha,需要使⽤用 istanbul来统计覆盖率
package.json⾥里里修改 jest配置
jest: { "collectCoverage": true, "collectCoverageFrom": ["src/**/*.{js,vue}"], }
倘若有个jest.config.js那么就在 moduleFileExtensions 上一行加入,这个文件是对jest的配置
"collectCoverage": true, "collectCoverageFrom": ["src/**/*.{js,vue}"],
在跑一下npm run test:unit
生成的报告文件在coverage目录下,打开可以看到这么个鬼东西
这个测试报告可以很精确的看到我们哪些没测试,哪些测试了,我在KaiKeBa里加点东西不测试,来看看结果
蓝色的我们可以点进去的
指出了没有测到的地方,判断了newData是否等于1,显然不等于的
我们可以给他测试下,要这么写,给newData赋值
it('测试点击后,newData == "1"的结果',() => { // $mount处理不了用户交互,所以我们要用到vue官方推荐的@vue/test-utils let wrapper = mount(KaiKeBaComp) wrapper.vm.newData = '1' //点击一下 wrapper.find('.btn').trigger('click') expect( wrapper.vm.msg ).toBe('click false') })