如何使用 Cobertura 在 Play 框架项目中启用代码覆盖率?
How to enable code coverage in a Play-framework project using Cobertura?
我正在尝试让 Cobertura 为使用 Play 框架的项目进行单元测试。我正在按照此处的说明进行操作:
https://www.playframework.com/modules/cobertura-2.4/home
我将指定的行添加到 conf/application.conf 文件,但是当我 运行 我的测试时,在建议的任何一个地方都没有创建代码覆盖率报告。我的项目中的任何地方都没有创建代码覆盖文件。
(顺便说一句,当它说 "start test in web interface" 或提到在网络浏览器中去 "localhost:9000/@tests" 时,我不知道它在说什么——当我在 运行ning activator run
,连接超时或给出 404。)
我还需要做什么才能让 Cobertura 正常工作?其他一些页面提到需要下载库并将其添加到项目中,但我不确定将库放在哪里,或者我是否可以通过向 build.sbt
文件中添加一些东西来添加它(我的首选添加库的方法)。
这些说明不再有效,因为它们适用于较旧版本的 Play,而 cobertura 模块不再出现在较新版本的 Play 中。
我可以使用 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
我正在尝试让 Cobertura 为使用 Play 框架的项目进行单元测试。我正在按照此处的说明进行操作:
https://www.playframework.com/modules/cobertura-2.4/home
我将指定的行添加到 conf/application.conf 文件,但是当我 运行 我的测试时,在建议的任何一个地方都没有创建代码覆盖率报告。我的项目中的任何地方都没有创建代码覆盖文件。
(顺便说一句,当它说 "start test in web interface" 或提到在网络浏览器中去 "localhost:9000/@tests" 时,我不知道它在说什么——当我在 运行ning activator run
,连接超时或给出 404。)
我还需要做什么才能让 Cobertura 正常工作?其他一些页面提到需要下载库并将其添加到项目中,但我不确定将库放在哪里,或者我是否可以通过向 build.sbt
文件中添加一些东西来添加它(我的首选添加库的方法)。
这些说明不再有效,因为它们适用于较旧版本的 Play,而 cobertura 模块不再出现在较新版本的 Play 中。
我可以使用 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