我知道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/