在构建在Jasmine之上的JavaScript Jest测试框架中,是否有一种方法可以覆盖代码?
内部框架不输出它得到的代码覆盖率。我还尝试过使用Istanbul、blanket和JSCover,但它们都不起作用。
在构建在Jasmine之上的JavaScript Jest测试框架中,是否有一种方法可以覆盖代码?
内部框架不输出它得到的代码覆盖率。我还尝试过使用Istanbul、blanket和JSCover,但它们都不起作用。
当前回答
你可以运行npx jest——coverage——path/to/your/file.spec.js 这将显示受影响文件的覆盖率
如果你想在浏览器中查看,你可以这样做,
进入浏览器,CMD+O。 导航到您的repo并搜索coverage/lcov-report/index.html
然后你可以直观地看到所有的覆盖区域。
您也可以参考下面的链接,以获得更多信息 https://dev.to/stevescruz/awesome-jest-tip-coverage-report-h5j
其他回答
配置您的包。json文件
"test": " joke -coverage",
现在运行:
yarn test
所有测试都将开始运行,您将得到报告。
2019年1月:Jest 23.6版
对于最近正在研究这个问题的人,尤其是直接使用npm或yarn进行测试的人
目前,您不需要更改配置选项
根据Jest官方网站,您可以执行以下操作来生成覆盖率报告:
1-对于npm:
必须在传递Jest的——覆盖参数之前放入——
npm test -- --coverage
如果你试图在没有——的情况下直接调用——覆盖,它将不起作用
2-对于纱线:
你可以直接传递jest的-coverage参数
yarn test --coverage
如果你遇到了覆盖不工作的问题,也可能是由于启用了coverageReporters而没有添加'text'或'text-summary'。 文档中写道:“注意:设置此选项将覆盖默认值。添加“文本”或“文本摘要”以查看控制台输出中的覆盖率摘要。源
你可以运行npx jest——coverage——path/to/your/file.spec.js 这将显示受影响文件的覆盖率
如果你想在浏览器中查看,你可以这样做,
进入浏览器,CMD+O。 导航到您的repo并搜索coverage/lcov-report/index.html
然后你可以直观地看到所有的覆盖区域。
您也可以参考下面的链接,以获得更多信息 https://dev.to/stevescruz/awesome-jest-tip-coverage-report-h5j
这对我来说很管用:
"jest": {
"collectCoverage": true,
"coverageReporters": ["json", "html"]
},
"scripts": {
"test": "jest --coverage"
},
Run:
yarn/npm test