当我为我的 sbt 项目(使用sbt clean coverage test
)运行单元测试时,我的代码覆盖率约为 77%。
当我运行集成测试 ( sbt clean coverage it:test
) 时,我的代码覆盖率约为 10%。
当我同时运行 ( sbt clean coverage test it:test
) 时,我的代码覆盖率约为 84%。
我想设置一个积极的代码覆盖率最小值,如果不满足,则构建失败,但如果我添加这些构建设置:
coverageMinimum := 83
coverageFailOnMinimum := true
...然后运行sbt clean coverage test it:test
,在单元测试之后,在集成测试可以运行之前检查覆盖率最小值,并且构建失败:
[error] Coverage is below minimum [77.0% < 83.0%]
如果我放在it:test
前面test
,那就更糟了([10.0% < 83.0%]
)。
有没有办法规定只有在单元测试和集成测试都运行后才适用 83% 的最低要求?还是我注定要单独设置单元测试可以满足的最低覆盖率,并且总是记得在命令行上放test
之前?it:test