【问题标题】:Code coverage for scala with separate test project in javascala的代码覆盖率在java中具有单独的测试项目
【发布时间】:2017-06-21 03:25:50
【问题描述】:

我有两个独立的项目,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]         ^

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

【问题讨论】:

    标签: java scala testing code-coverage scoverage


    【解决方案1】:

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-01-10
      • 2011-09-19
      • 2015-03-04
      • 2014-10-25
      • 2017-09-23
      • 1970-01-01
      • 2012-01-18
      • 2015-11-08
      相关资源
      最近更新 更多