【问题标题】:How do I generate code coverage for some Node.JS code without tests?如何在没有测试的情况下为某些 Node.JS 代码生成代码覆盖率?
【发布时间】:2021-04-06 08:24:41
【问题描述】:

我有一个 build/ 文件夹,它由 package.json 中的 babel 进程自动生成。它有几个 .js 文件,包括在子文件夹中。在根目录中有一个文件main.js,它是项目的演示/测试平台,它实例化各种 ES6 类并尝试各种功能。它目前运行没有崩溃。

称之为穷人的端到端测试。我正在尝试使用可能被丢弃的代码快速移动。

我没有任何正式的测试。我不想为此代码库编写任何正式的测试。但我很想知道build/ 中的代码有多少被我的演示main.js 所触及。

  1. 如何使用nyc为这种情况生成代码覆盖率报告?
  2. 如果这实际上并不容易(我看到的所有教程似乎都涉及从主流测试框架中检测预先存在的单元测试),那么在纽约市有什么替代方案可以让这变得简单?

我试过了

npm install nyc --save-dev
npx nyc node build/main.js

但它声称 0 行/文件。

【问题讨论】:

    标签: node.js code-coverage nyc


    【解决方案1】:

    感谢What is instrumentation in nyc istanbul?,这实际上很简单。从根目录开始,我的 package.json 和 build/ 文件夹所在的位置:

    npx nyc instrument build coverage
    npx nyc --reporter=text --report-dir=./nyc_output node build/main.js
    

    所有必要的文件夹(coverage、nyc_output)都是自动创建的(尽管出于某种原因它创建了.nyc_output/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-15
      • 2023-02-16
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      • 2017-09-03
      • 2020-08-28
      • 2017-06-19
      相关资源
      最近更新 更多