6

我知道这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.

4

1 回答 1

5

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

coverage 失败是因为它正在解析命令,就好像test目标是 coverage 的第一个参数,而合格的包名称package.ScalaSpec是第二个参数。

你想要做的是只给覆盖一个这样的论点:
sbt coverage "test-only package.ScalaSpec"

之前,coverage 以命令test为目标,后跟意外的第二个参数。
之后,覆盖被赋予命令test-only package.ScalaSpec作为其目标。

于 2017-08-02T20:30:46.800 回答