在构建在Jasmine之上的JavaScript Jest测试框架中,是否有一种方法可以覆盖代码?

内部框架不输出它得到的代码覆盖率。我还尝试过使用Istanbul、blanket和JSCover,但它们都不起作用。


当前回答

在使用Jest 21.2.1时,我可以在命令行中看到代码覆盖率,并通过将——coverage传递给Jest脚本来创建覆盖率目录。下面是一些例子:

我倾向于在本地安装Jest,在这种情况下,命令可能是这样的:

NPX是--覆盖率

我假设(虽然还没有确认),如果我在全局安装Jest,这也可以工作:

是 --覆盖范围

非常稀疏的文档在这里

当我导航到coverage/lcov-report目录时,我发现了一个可以加载到浏览器中的index.html文件。它包括在命令行打印的信息,以及其他信息和一些图形输出。

其他回答

我有同样的问题,我修复如下。

安装纱线NPM Install—save-dev yarn 安装jest-cli 把这个加到包里。Json " joke -coverage": "yarn run jest -- --coverage"

在你写完测试之后,运行命令npm run joke -coverage。这将在根目录中创建一个覆盖文件夹。/coverage/icov-report/index.html有代码覆盖率的HTML视图。

更新:2018年7月20日-增加链接和更新的名称覆盖记者。

更新:2017年8月14日-这个答案完全过时了。看看Jest文档就知道了。他们有关于如何做到这一点的官方支持和文件。

@hankhsiao有一个分叉回购,伊斯坦布尔正在与Jest合作。将此添加到您的开发依赖项中

 "devDependencies": {
     "jest-cli": "git://github.com/hankhsiao/jest.git"
 }

还要确保在包中启用了覆盖率。Json笑话条目,你也可以指定你想要的格式。(html是非常糟糕的)。

 "jest": {
     "collectCoverage": true,
     "coverageReporters": ["json", "html"],
 }

请参阅Jest文档中的coverageReporters(默认为["json", "lcov", "text"])

或者当你引用笑话时添加-coverage。

你可以运行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

所有测试都将开始运行,您将得到报告。

在使用Jest 21.2.1时,我可以在命令行中看到代码覆盖率,并通过将——coverage传递给Jest脚本来创建覆盖率目录。下面是一些例子:

我倾向于在本地安装Jest,在这种情况下,命令可能是这样的:

NPX是--覆盖率

我假设(虽然还没有确认),如果我在全局安装Jest,这也可以工作:

是 --覆盖范围

非常稀疏的文档在这里

当我导航到coverage/lcov-report目录时,我发现了一个可以加载到浏览器中的index.html文件。它包括在命令行打印的信息,以及其他信息和一些图形输出。