如何设置不同测试级别的测试代码覆盖率?

时间:2016-12-01 11:38:40

标签: node.js testing mocha code-coverage

我正在使用nyc来生成代码覆盖率报告。我为我的测试使用不同的级别。我如何合并不同级别的报告?

我的package.json

是我的一部分
"scripts": {
  "test": "npm run test:unit && npm run test:component",
  "test:component": "nyc mocha ./test/component",
  "test:unit": "nyc mocha ./test/unit"
},
"nyc":     {
  "extension": [
    ".ts"
  ],
  "cache": true,
  "reporter": [
    "lcov",
    "text-summary"
  ]
}

1 个答案:

答案 0 :(得分:1)

您可以在序列中使用nycmocha来实现此效果。

使用npm scripts,它将如下所示:

{
    "scripts": {
        "coverage" : "nyc npm run test",
        "test": "npm run test:unit && npm run test:component",
        "test:component": "mocha ./test/component",
        "test:unit": "mocha ./test/unit"
    },
    "nyc": { ... }
}

nyc背后的主要思想是它需要在配置中定义所有源文件并对其进行检测。

然后它在带有修改后的require的检测之后运行命令,因此从nyc内部运行的每个命令都将使用已检测的文件作为其来源。