开玩笑的覆盖范围不应在路径中包含rootDir,与赛普拉斯的覆盖范围不匹配 解决方案1:开玩笑的人是赛普拉斯吗?解决方案2:赛普拉斯与Jest相配吗?

我需要在Next.js应用程序的上下文中合并Cypress覆盖率报告和Jest覆盖率报告。

Jest将文件列为my-app/src/whatever。赛普拉斯只显示src/whatever

Cypress将不会包含my-app,而Jest会包含my-app/src/whatever,这在尝试使用Cypress示例中的推荐方法合并coverage时会引起问题。另一种选择是让赛普拉斯也显示该文件夹。

解决方案1:开玩笑的人是赛普拉斯吗?

我希望Jest计算相对于rootDir的覆盖文件路径,而不显示它。

例如,覆盖率报告将显示src/whatever。它应该只显示my-app,不显示AcquireTokenByAuthorizationCode

那可行吗?

解决方案2:赛普拉斯与Jest相配吗?

另一种选择是让赛普拉斯考虑另一个根目录,但是我没有找到这样的选项。这是imo中最没有前途的选择。有相关的选择吗?

子问题:这两个工具的行数不同,这可能是由于TypeScript + Babel + Webpack与代码的交互作用所致。如何调试此问题?

谢谢

为清晰起见

hechacn 回答:开玩笑的覆盖范围不应在路径中包含rootDir,与赛普拉斯的覆盖范围不匹配 解决方案1:开玩笑的人是赛普拉斯吗?解决方案2:赛普拉斯与Jest相配吗?

作为特定于Next的快速修复程序,现在可以在Next中使用src文件夹。因此,将所有可测试的代码放在一个隔离的文件夹中可以是一个快速解决方案。

在您的Jest配置中:

  collectCoverageFrom: [
    "src/**/*.{js,jsx,ts,tsx}"
    ...

(不知道为什么,但是添加一个src文件夹时,赛普拉斯似乎不需要其他配置)

本文链接:https://www.f2er.com/2657725.html

大家都在问