1

我有两个独立的项目,Product 和 CompoTestProduct。Product 用 Scala 编写并使用 sbt,而 CompoTestProduct 用 Ja​​va 编写并使用 maven。产品将部署在服务器中,CompoTestProduct 的测试类将在本地运行。我尝试使用scoverage,因为它说它支持Multi project reports,但我仍然不知道如何做到这一点,而且我仍在努力使样本工作。我在示例项目中收到此错误:

[error] Not a valid command: coverage
[error] Not a valid project ID: coverage
[error] Expected ':' (if selecting a configuration)
[error] Not a valid key: coverage (similar: homepage, package, compilerCache)
[error] coverage
[error]         ^

我是这个代码覆盖测试的新手。您是否有其他教程或者可能知道其他可以为执行此设置生成测试代码覆盖率报告的框架/工具包?

4

1 回答 1

-1

多项目支持是指能够聚合多个报告的结果。

coverage当您在 sbt 命令行上激活时,Scoverage 会检测您的代码。因此sbt clean coverage compile,在您的产品项目中就足以检测类文件了。

然后,您可以使用 Maven 正常运行单元测试。此时需要将 Maven 配置为也使用 Scoverage,因为它需要在完成后写出覆盖数据。

然后您需要在之后运行报告步骤。

所以,总而言之,有很多麻烦是可能的,但你为什么要通过这些箍来进行尴尬的项目设置?只需将您的测试移动到主项目中,进行组合的 java/scala 编译,它应该会容易得多,因为您可以通过 sbt 或 maven 运行整个构建,而不是混合使用。

于 2015-01-23T23:38:14.507 回答