为所有子模块生成jacoco代码覆盖率报告

时间:2013-11-12 09:18:25

标签: scala playframework sbt jacoco

我正在尝试将JaCoCo集成到我的Play Scala项目中,我希望它能够在一个报告中为所有子模块运行代码覆盖。

当我将“jacoco.settings”添加到根项目时,jacoco无法识别子模块的测试。为此,我为每个模块配置了jacoco设置,然后为每个模块运行覆盖(请参阅注释掉代码)。结果是每个模块有一份报告。

我想为整个项目生成一份报告,任何想法我该怎么办?

object PlutusBuild extends Build {

lazy val root = Project(id = "Plutus", base = file("."))
               .aggregate(common, importer, crawler, ref_webapp)
               .settings(graphSettings: _*)
               .settings(jacoco.settings: _*)

lazy val common = Project(id = "Plutus-Common", base =      
            file("common"))
            /*.settings(jacoco.settings: _*)*/

lazy val importer = Project(id = "Plutus-Importer", base = 
            file("importer")).dependsOn(common)
            /*.settings(jacoco.settings: _*)*/

lazy val crawler  = Project(id = "Plutus-Crawler", base =  
            file("crawler")).dependsOn(common).
            configs(Atmos).settings(atmosSettings:_*)
            /*.settings(jacoco.settings: _*)*/
...

...谢谢

1 个答案:

答案 0 :(得分:1)

我认为你正在使用jacoco4sbt?这是recently fixed in version 2.1.4

您需要使用此设置:

Keys.fork in jacoco.Config := true