按文件夹分组伊斯坦布尔代码覆盖率报告

时间:2017-07-09 10:07:49

标签: javascript node.js istanbul nyc

我正在使用istanbul和nyc命令运行NodeJ的代码覆盖率报告。

我使用mocha进行单元测试

我按照预期获得了每个文件的报告,但我希望看到的是一个包含单个目录摘要的报告。让我更详细地解释一下我所得的经文是什么,我想看看

我的所有源文件都在一个文件夹中,我希望看到该文件夹​​的摘要,而不是该文件夹中每个文件的完整列表

以下是我的文件夹结构

// This is the folder where all the sources are at 
src
    // This is the folder where coverage is output
    coverage
        NodeJs
            index.html
    file1.js
    file2.js
    file3.js
    // This is the folder where all tests are at
    tests
        test_file1.js
        test_file2.js
        test_file3.js

我的.babelrc文件看起来像这样

{
    "presets": ["es2015", "stage-2"],
    "plugins": [
        [
            "istanbul",
            {"exclude": ["**/tests/*.js"]}
        ]
    ]
}

我使用以下命令运行带覆盖的测试

node ./node_modules/.bin/nyc --reporter=html \
    --report-dir=./src/coverage/NodeJs \
    ./node_modules/mocha/bin/_mocha \
    --require babel-core/register \
    --ui bdd src/tests/test*.js

我的所有测试运行正常,它们通过,报告按预期输出到src/coverage/NodeJs/index.html文件。在浏览器中,该报告看起来像这样:

Coverage report for all files

我希望看到的是这样的内容,我可以在其中看到整个文件夹的完整摘要,然后点击该文件夹,如果有必要,请将其深入到其中:

Coverage report for single folder

现在,如果我有超过1个被覆盖的文件夹,我可以获得这种效果。例如......如果我摆脱了exclude文件中的.babelrc,那么有2个目录被覆盖(srcsrc/tests)我得到了各自的总结如此

Coverage report with two folders

但问题在于我不希望我的测试被覆盖......正如你所看到的,它会弄乱数字。我只想要覆盖一个文件夹,并希望在HTML输出文件中看到一个文件夹摘要。

有关如何实现这一目标的任何建议? (如果我没有提供足够的信息,请告诉我)

0 个答案:

没有答案