Jest的代码覆盖率监控无法正常工作

8
我正在尝试运行jest --coverage --watch,以便我只能获得我正在编写测试的组件的覆盖率,并且可以在编写更多测试时看到增加的覆盖率。但是,虽然修改后的测试成功被捕捉并运行,但覆盖报告为空。
----------|----------|----------|----------|----------|-------------------|
File      |  % Stmts | % Branch |  % Funcs |  % Lines | Uncovered Line #s |
----------|----------|----------|----------|----------|-------------------|
All files |        0 |        0 |        0 |        0 |                   |
----------|----------|----------|----------|----------|-------------------|


Test Suites: 2 passed, 2 total
Tests:       2 passed, 2 total
Snapshots:   0 total
Time:        5.599s
Ran all test suites related to changed files.

这方面的文档几乎没有,但根据此PR(https://github.com/facebook/jest/pull/5601),它似乎应该可以工作。
2个回答

4

以下是一个解决方案

创建jest.config.js并添加以下内容:

  • jest.config.js
module.exports = {
    collectCoverage: true,
    coverageReporters: [
        "html"
    ]
};

而在 package.json 文件中:

"scripts": {
    "test": "jest --watchAll"
}

2
我建议你使用jest --watchAll --coverage而不是在配置文件中设置,因为您可能不想每次运行jest时都收集代码覆盖率。如果您经常使用jest,您还可以将其添加为运行脚本或bash别名。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接