scala - 可以对组合单元测试和集成测试施加最低覆盖率吗?

标签 scala sbt scoverage

当我为我的 sbt 项目运行单元测试时(使用 sbt clean coverage test ),我的代码覆盖率约为 77%。

当我运行集成测试 ( sbt clean coverage it:test ) 时,我的代码覆盖率约为 10%。

当我同时运行这两个 ( sbt clean coverage test it:test) 时,我得到的代码覆盖率约为 84%。

我想设置一个积极的代码覆盖最小值,如果不满足则构建失败,但是如果我添加这些build设置:

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在命令行上?

最佳答案

1.3.4 版中删除了自动测试后覆盖率最小检查(请参阅问题 https://github.com/scoverage/sbt-scoverage/issues/132)。

将插件版本升级到最新的 1.3.5 并在所有测试后调用 coverageReport,例如:

sbt clean coverage 测试它:test coverageReport

关于scala - 可以对组合单元测试和集成测试施加最低覆盖率吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39499091/

相关文章:

带有重载提取器的 Scala 语言?

scala - 使用具有代码覆盖率的 Scala SBT 时出现兼容性错误

scala - Idea 13 和 Gradle 在 Scala 方面尝试使用 scala-compiler 时找不到 scala-library

mysql - Play framework 2.2.2 evolutions 未在 mysql 中触发

scala - 无法将 scala-reflect 添加为依赖项

java - 如何将 JDK 中的类链接到 scaladoc 生成的文档中?

scala - 在使用 jar 构建的 Docker 设置中在部署时传递 application.conf 文件

maven - 如何从maven中的scoverage中排除包

scala - 是否可以在不运行 'sbt clean' 的情况下运行 Scala SBT Scoverage

scala -- 如何使用 json4s 使用 SimpleDateFormat 自定义日期格式