4

我正在为 CLI 编写集成测试。所有单元测试都是使用开箱即用的 Jest 编写的,它无需任何配置即可生成代码覆盖率,但不幸的是,它不检测子流程,例如通过 Node 的 spawn 和 fork 命令执行。

我已尝试按照关于 GitHub 问题的评论中的建议将 nyc 引入组合中,但它对我不起作用。

我玩过各种配置(基于上述最初的建议以及来自这些问题的想法:12),但是我根本没有得到覆盖率统计数据,或者只有单元测试的覆盖率,而不是产生子测试的集成测试过程。

package.json配置 nyc 和 Jest的 my 的相关部分:

"scripts": {
  "test": "cross-env NODE_ENV=test nyc --clean jest --coverage",
},
"jest": {
  "verbose": true,
  "testURL": "http://localhost/",
  "globalSetup": "./jest.setup.js",
  "transform": {
    "^.+\\.js$": "babel-jest"
  },
  "collectCoverage": false
},
"nyc": {
  "include": [
    "packages/*/src/**/*.js"
  ],
  "reporter": [
    "html"
  ]
},

我正在使用execa运行子流程并执行以下操作:

await execa("nyc --reporter none node", args);
4

0 回答 0