我知道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.
答案 0 :(得分:4)
用引号将完全限定的包名称包围。
覆盖失败,因为它正在解析命令,好像test
目标是coverage的第一个参数,而合格的包名package.ScalaSpec
是第二个。
你想要做的只是覆盖一个这样的论点:
sbt coverage "test-only package.ScalaSpec"
之前,覆盖范围以命令test
为目标,然后是意外的第二个参数
之后,覆盖范围以命令test-only package.ScalaSpec
为目标。