在黄瓜 js 中获取覆盖率统计信息的最佳方法是什么?

What is the best way to get coverage stats in cucumber js?

我正在使用 Gherkin syntax and running my tests with Cucumber JS 的行为驱动开发 (BDD) 方法设计我的测试。

我正在使用 Cucumber Studio 分享报告并与我的业务利益相关者和管理层保持同步。

最近我需要获取项目的测试覆盖率报告,并进行了一些研究但无法决定使用哪个库来获取覆盖率报告以及如何获取覆盖率报告。

到目前为止,我已经找到 JSCover, Cucumber Reports, and Istanbul 测试覆盖率报告,但我不确定如何准确使用它们,以及哪种最适合我的情况与 Cucumber JS 一起使用。

经过多次尝试,我发现使用 Istanbul JS 查看代码覆盖率非常简单。

我已按照网站上的说明安装伊斯坦布尔的 JavaScript 库 nyc 使用:

yarn add -D nyc

然后,我在 package.json 中更新了我的 scripts 如下:

...
  "scripts": {
    "test": "cucumber-js ...",
    ...
    "coverage": "nyc yarn test"
  },
...

当我 运行 yarn coverage 它 运行 通过 nyc 包装测试并创建覆盖率报告如下: