没有覆盖设置的“由于覆盖阈值违规”开玩笑失败
Posted
技术标签:
【中文标题】没有覆盖设置的“由于覆盖阈值违规”开玩笑失败【英文标题】:Jest failing "due to coverage threshold breaches" w/o coverage settings 【发布时间】:2020-01-12 14:44:15 【问题描述】:在我的devDependencies
中升级了几个包后,我的 Jest 测试由于违反阈值而失败,而没有 coverage
设置。
如果我运行gulp-jest
,它们会失败
Error in plugin "gulp-jest"
Message:
Tests Failed due to coverage threshold breaches
运行yarn run jest
,错误只是
error Command failed with exit code 1.
后者似乎与yarn test: all tests passed but returned "error Command failed with exit code 1" 一致,原因也是覆盖率阈值。
奇怪的是我的阈值已经设置为 0。现在我已经从 gulpfile
中删除了所有 coverage
设置,但仍然失败。
在package.json
我找不到任何其他设置。我错过了位置吗?
我的版本是
节点 LTS 10.16.3 开玩笑 22.4.4 gulp-jest 4.0.3【问题讨论】:
我刚刚尝试了我的 monorepo 的另一个包,我注意到testMatch
设置也不是gulpfile
中设置的。
帮助中心定义“编程问题”也是关于开发工具的。我不明白反对票。
我发现我的package.json
在配置对象中有一个无用的config
键。虽然这改变了大多数包中的玩笑行为,但我仍然有一个包由于阈值违规而仍然失败。
投反对票的人会介意用我的问题解释他们的问题吗?我想遵循指南并阅读它们,但不知道出了什么问题。非常感谢。
【参考方案1】:
对于因违反阈值而失败的测试(即使未定义阈值),我们能够通过删除快照文件 *.test.js.snap
来修复它。
这很奇怪,而且错误信息非常具有误导性。
此外,我们在 gulp-jest
的配置对象中有一个额外的 config
键:
jest(config: …
这似乎已在某些版本中被删除。
【讨论】:
以上是关于没有覆盖设置的“由于覆盖阈值违规”开玩笑失败的主要内容,如果未能解决你的问题,请参考以下文章
如果 JUnit 覆盖率低于某个阈值,如何使 Maven 构建失败