Jest、Typescript、ts-jest:覆盖范围略有不正确

Posted

技术标签:

【中文标题】Jest、Typescript、ts-jest:覆盖范围略有不正确【英文标题】:Jest, Typescript, ts-jest: Coverage is slightly incorrect 【发布时间】:2017-05-02 11:47:56 【问题描述】:

我正在使用 TypeScript、Jest 和 ts-jest NPM 模块编写一个项目。

当我运行测试时,我确实得到了一些覆盖率,但 html 报告并不完全正确:

此外,一些函数被标记为未经测试,即使它们确实被调用了。

我的 package.json 设置如下:


    "jest": 
    "transform": 
      ".(ts|tsx)": "<rootDir>/node_modules/ts-jest/preprocessor.js"
    ,
    "testRegex": "(/__tests__/.*|\\.(test|spec))\\.(ts|tsx|js)$",
    "moduleFileExtensions": [
      "ts",
      "tsx",
      "js"
    ],
    "testResultsProcessor": "<rootDir>/node_modules/ts-jest/coverageprocessor.js",
    "collectCoverage": true,
    "collectCoverageFrom": [
      "src/**/*.ts,tsx"
    ],
    "coverageReporters": [
      "html",
      "json"
    ]
  

我的配置有问题吗?

【问题讨论】:

你看coverage/remapped/html/index.html了吗? 谢谢!您能否将其发布为回复,以便我将其标记为正确答案? 【参考方案1】:

更新

从 jest@20 开始,您可以传递 mapCoverage 选项并使用 coverage/lcov-report/index.html 文件。

我也一直在努力解决这个问题,但后来我注意到that line。

长话短说 - 报道报告转到 coverage/remapped/html/index.html 文件。

【讨论】:

有没有办法在控制台中使用重新映射的输出,而不是“稍微关闭”的输出? @JarrodMosen 目前不可能,见github.com/kulshekhar/ts-jest/issues/42#issuecomment-256792842 注意mapCoverage has now been removed from jest

以上是关于Jest、Typescript、ts-jest:覆盖范围略有不正确的主要内容,如果未能解决你的问题,请参考以下文章

Jest、Typescript、ts-jest:覆盖范围略有不正确

TypeScript ts-jest 预处理器的目的是啥?

为 react typescript 项目设置 ts-jest

Jest / Ts-Jest / Babel:调试失败。错误表达式:输出生成失败

打字稿源文件中带有 ts-jest 断点的 vscode-jest

ts-jest:将“@”字符映射到 /src 文件夹