【问题标题】:How to run a single scala test with scoverage?如何使用覆盖率运行单个 scala 测试?
【发布时间】:2023-03-29 11:49:01
【问题描述】:

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

【问题讨论】:

  • 由于某种原因,sbt coverage "test-only package.ScalaSpec" 对我不起作用,它会引发相同的异常,但这适用于 sbt coverage "test:testOnly package.ScalaSpec"

标签: scala sbt scoverage


【解决方案1】:

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

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

您想要做的是只提供一个这样的参数:
sbt coverage "test-only package.ScalaSpec"

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

【讨论】:

    猜你喜欢
    • 2013-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多