【问题标题】:How to enable code coverage in a Play-framework project using Cobertura?如何使用 Cobertura 在 Play-framework 项目中启用代码覆盖?
【发布时间】:2017-07-13 16:41:13
【问题描述】:

我正在尝试让 Cobertura 对使用 Play 框架的项目进行单元测试。我按照这里的说明进行操作:

https://www.playframework.com/modules/cobertura-2.4/home

我在 conf/application.conf 文件中添加了指定的行,但是当我运行我的测试时,在建议的任何一个地方都没有创建代码覆盖率报告。我的项目中没有任何地方创建代码覆盖文件。

(顺便说一句,当它说“在 Web 界面中开始测试”时,或者提到在 Web 浏览器中访问“localhost:9000/@tests”时,我不知道它在说什么——当我去那里时运行activator run 后,连接要么超时,要么返回 404。)

我还需要做什么才能让 Cobertura 正常工作?其他一些页面提到需要下载库并将其添加到项目中,但我不确定将库放在哪里,或者我是否可以通过在build.sbt 文件中添加一些东西来添加它(我的首选方法添加库)。

【问题讨论】:

    标签: playframework cobertura


    【解决方案1】:

    这些说明不再适用,因为它们适用于旧版 Play,并且新版 Play 中不再存在 cobertura 模块。

    我能够使用 Jacoco4SBT 做到这一点。按照jacoco4sbt's README 中的说明,将以下行添加到project/plugins.sbt

    resolvers += Resolver.sonatypeRepo("public") // (not entirely sure this line is necessary)
    addSbtPlugin("de.johoop" % "jacoco4sbt" % "2.3.0")
    

    然后将以下行添加到 build.sbt:

    jacoco.settings
    

    然后您可以通过运行以下命令生成代码覆盖率报告:

    activator jacoco:cover
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-31
      • 2014-06-22
      • 2013-02-15
      相关资源
      最近更新 更多