scala - 如何使用 scoverage 运行单个 scala 测试?

标签 scala sbt scoverage

我知道sbt clean coverage test将使用项目的所有测试用例生成覆盖率报告,即使使用温暖的 JVM,这也需要很长时间才能完成。

我希望对我编写的代码的测试运行覆盖率,我尝试运行一个测试用例,如 sbt coverage test-only package.ScalaSpec我收到以下错误。

错误
[scala-project] $ coverage test-only package.ScalaSpec <set>:1: error: eof expected but 'package' found. coverageEnabled in ThisBuild := true test-only package.ScalaSpec ^ [error] Error parsing expression.

最佳答案

用引号将您的完全限定包名称括起来。

覆盖失败,因为它正在解析命令,就像 test目标是覆盖率的第一个参数,以及限定的包名 package.ScalaSpec作为第二。

你想要做的是只提供一个像这样的参数:sbt coverage "test-only package.ScalaSpec"
之前,coverage 给出命令 test作为它的目标,然后是一个意想不到的第二个参数。
之后,覆盖范围被赋予命令 test-only package.ScalaSpec作为它的目标。

关于scala - 如何使用 scoverage 运行单个 scala 测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44603140/

相关文章:

sql - Spark/Scala - 当一列为 NULL 时比较数据框中的两列

Scala IDE 模板编辑器坏了

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

scala - Play 2.3 FakeApplication 模式没有在测试中设置?

Scala双重定义(2个方法具有相同的类型删除)

找不到 sbt 程序集命令

java - 在 java 中使用单独的测试项目的 Scala 的代码覆盖率

Scoverage如何排除文件和包?

Sbt 将设置放在文件中或放在多项目中的 commonSettings 中有何区别

logging - SLF4J:类路径包含多个 SLF4J 绑定(bind)。控制台上打印的消息