cca*_*ert 85
使用Jest 21.2.1时,我可以在命令行看到代码覆盖,并通过传递--coverage给Jest脚本创建一个覆盖目录.以下是一些例子:
我倾向于在本地安装Jest,在这种情况下命令可能如下所示:
npx jest --coverage
我假设(虽然还没有确认),如果我全局安装了Jest,这也会有效:
jest --coverage
非常稀疏的文档就在这里
当我导航到coverage/lcov-report目录时,我发现了一个可以加载到浏览器中的index.html文件.它包括在命令行打印的信息,以及附加信息和一些图形输出.
Adr*_*son 79
更新:7/20/2018 - 为coverageReporters添加了链接和更新名称.
更新:8/14/2017 - 这个答案完全过时了.现在就看看Jest文档吧.他们有关于如何执行此操作的官方支持和文档.
@hankhsiao有一个分叉的回购,伊斯坦布尔与Jest合作.将此添加到您的dev依赖项
"devDependencies": {
"jest-cli": "git://github.com/hankhsiao/jest.git"
}
Run Code Online (Sandbox Code Playgroud)
还要确保在package.json jest条目中启用了coverage,您还可以指定所需的格式.(HTML非常糟糕).
"jest": {
"collectCoverage": true,
"coverageReporters": ["json", "html"],
}
Run Code Online (Sandbox Code Playgroud)
见玩笑文档的coverageReporters(默认为 ["json", "lcov", "text"])
或者--coverage在调用jest时添加.
Ahm*_*ssy 27
对于最近关注这个问题的人,特别是如果直接使用npm或纱线进行测试
目前,您不必更改配置选项
根据开玩笑官方网站,您可以执行以下操作来生成覆盖率报告:
你必须npm在传递jest的--coverage参数之前放入
npm test -- --coverage
Run Code Online (Sandbox Code Playgroud)
如果你尝试yarn直接调用--它没有它将无法正常工作
你可以--coverage直接传递jest 的参数
yarn test --coverage
Run Code Online (Sandbox Code Playgroud)
Dee*_*ohn 24
这对我有用:
"jest": {
"collectCoverage": true,
"coverageReporters": ["json", "html"]
},
"scripts": {
"test": "jest --coverage"
},
Run Code Online (Sandbox Code Playgroud)
跑步:
yarn/npm test
Run Code Online (Sandbox Code Playgroud)
小智 15
您可以运行 npx jest --coverage -- path/to/your/file.spec.js 这将显示受影响文件的覆盖范围
如果您想在浏览器中查看此内容,可以执行以下操作,
您还可以参考下面的链接,了解更多信息 https://dev.to/stevescruz/awesome-jest-tip-coverage-report-h5j
好吧,请忽略我以前的回答,因为有人告诉我它不能解决问题。
新答案:
1)检查最新的玩笑(v 0.22):https : //github.com/facebook/jest
2)Facebook团队将伊斯坦布尔作为覆盖率报告的一部分,您可以直接使用它。
3)执行完jest之后,您可以在控制台上获得覆盖率报告,并在jest设置的根文件夹下找到json和html格式的覆盖率报告。
4)仅供参考,如果从npm安装,则可能无法获取最新版本;因此,请首先尝试github,并确保覆盖范围是您所需要的。
旧答案:
也有同样的问题。简短的答案是:Istanbul并且Jest不能一起工作。
检查以下页面以获取更多详细信息:
https://github.com/facebook/jest/issues/101
jest使用contextify在本地代码的V8上下文中运行JS脚本,从而绕过了伊斯坦布尔的所有require和vm.runInThisContext钩子。因此,由于没有使用标准的可挂钩的node.js函数,并且由于每次测试都在其自己的沙箱中运行并且没有全局可用于存放coverage对象的对象,因此预先插入文件也无济于事,伊斯坦布尔封面将无法正常工作。
@Ciro Costa:该config.collectCoverage功能无效,因为它是“ TODO”功能。请检查源代码。
| 归档时间: |
|
| 查看次数: |
105911 次 |
| 最近记录: |