使用 Html 测试文件时的代码覆盖率

Code coverage when using Html test file

我想生成代码覆盖率的 Jacoco 报告,以便我可以按照此处所述包含在我的 TFS 构建中 https://www.linkedin.com/pulse/enabling-javascripttypescript-code-coverage-brett-jacobson?trk=portfolio_article-card_title

为此,我使用了几乎相同的 chutzpah.json 文件:

{
    "Compile": {
        "Mode": "External",
        "Extensions": [ ".ts" ],
        "ExtensionsWithNoOutput": [ ".d.ts" ]
    },
    "CodeCoverageExecutionMode": "Always",
    "EnableCodeCoverage": "True",
    "CodeCoverageExcludes": [
        "node_modules/*"
    ],
    "TestFileTimeout": 5000,
    "Tests": [
        {
            "Path": "test\unittests\index.html"
        }
    ],
    "Transforms": [
        {
            "Name": "jacoco",
            "Path": "..\TestResults\ChutzpahJacoco.xml"
        },
        {
            "Name": "lcov",
            "Path": "..\TestResults\ChutzpahJS.lcov"
        },
        {
            "Name": "coveragehtml",
            "Path": "..\TestResults\ChutzpahJS.html"
        }
    ]
}

在我的 index.html 文件中,我有所有的单元测试。给出这个配置,如果我 运行

chutzpah.console.exe chutzpah.json

命令,我得到所有全部测试和失败测试的结果。但是没有生成 3 个转换报告。

但是,如果我将测试设置更改为使用 Includes": [ "*Tests.ts" ] 而不是 HTML 文件的路径并添加 references,我将生成报告。

这是 Html 测试文件的限制还是我做错了什么?

如果您使用 HTML 文件,Chutzpah 将不会为您做代码覆盖。它仅在您让 Chutzpah 为您生成 HTML 时才支持它。