使用jest 15.1.1编码覆盖率“未知”

时间:2016-09-18 19:13:08

标签: javascript jestjs babel-jest

当我尝试包含所有项目源代码以获得更合理的代码覆盖率时,我最终得到了

arimax

我的配置包含以下内容:

arimax

我也尝试过没有尾随----------|----------|----------|----------|----------|----------------| File | % Stmts | % Branch | % Funcs | % Lines |Uncovered Lines | ----------|----------|----------|----------|----------|----------------| All files | Unknown | Unknown | Unknown | Unknown | | ----------|----------|----------|----------|----------|----------------| "collectCoverageFrom": [ "<rootDir>/app_modules/", "<rootDir>/src/" ], ,只有一个尾随/但都无济于事。

基于**/*.js选项,路径会扩展到我想要收集覆盖率信息的路径(不是问题)

那么获得更准确的覆盖信息的魔力是什么?

我能找到的最好的文档来自这个Github PR:https://github.com/facebook/jest/pull/1349/files

我最终做了:

*.js

仅有效,因为这是默认配置的一部分

--debug

它确实为测试运行增加了大量时间。

3 个答案:

答案 0 :(得分:13)

仔细查看您的链接:

collectCoverageFrom: {
  description: wrap(
    'relative to <rootDir> glob pattern matching the files that coverage ' +
      'info needs to be collected from.'
      ...

您无法使用<rootDir>。尝试:

collectCoverageFrom: [
    "**/app_modules/**",
    "**/src/**"
],

答案 1 :(得分:0)

这只是要添加到已编辑问题中的其他信息:而不是声明第二个数组:

"testPathIgnorePatterns": [
    "/node_modules/"
],

您可以继续使用collectCoverageFrom数组,方法是将!放在您不想收集有关以下内容的覆盖范围信息的目录中:

collectCoverageFrom: [
    "!**/node_modules/**"
],

答案 2 :(得分:0)

您可以使用forceCoverageMatch选项强制覆盖:[' / .ts',' / .js']