jacoco4sbt이 내 Play 2.3.4 프로젝트에서 작동하도록하는 데 문제가 있습니다.Play에서 메인 및 서브 모듈의 클래스를 처리하도록 jacoco4sbt를 설정하는 방법은 무엇입니까?
내 프로젝트는 3 개 서브 모듈로 구성되어 있습니다 : common
, api
및 frontend
과 app
루트 폴더에 어떤 코드가 없습니다. 이제 Jacoco를 실행할 때 하위 모듈 클래스를 찾지 못합니다.
검사하기 일부 라우팅 클래스 (실제로 내 "루트"프로젝트에있는 유일한 코드입니다.
MODULE_NAME/target/scala-VERSION/classes
에서 target/scala-VERSION/classes
으로 클래스를 복사 한 다음 Jacoco를 실행하면 예상되는 결과가 나타납니다.
그래서 작동시키는 가장 좋은 방법은 무엇입니까? jacoco4sbt에서 추가 클래스 위치를 지정하는 구성을 찾을 수 없습니다.
내 build.sbt 파일
import Keys._
// Dummy value to deal with bug in sbt 0.13.5
val k = 0
name := "PlayApp"
version := "0.5.0"
// omitted resolvers part
scalaVersion := "2.10.4"
libraryDependencies ++= Seq(
"com.edulify" %% "play-hikaricp" % "1.5.0" exclude("com.jolbox", "bonecp"),
"com.novocode" % "junit-interface" % "0.11" % "test"
)
lazy val common = project.in(file("common")).enablePlugins(PlayJava)
lazy val frontend = project.in(file("frontend")).enablePlugins(PlayJava).dependsOn(common)
lazy val api = project.in(file("api")).enablePlugins(PlayJava).dependsOn(common)
lazy val main = project.in(file(".")).enablePlugins(PlayJava)
.aggregate(frontend, api).dependsOn(frontend, api)
parallelExecution in Test := false
javaOptions in Test += "-Dconfig.resource=test.conf"
jacoco.sbt
import de.johoop.jacoco4sbt._
import JacocoPlugin._
jacoco.settings
Keys.fork in jacoco.Config := true
parallelExecution in jacoco.Config := false
jacoco.outputDirectory in jacoco.Config := file("target/jacoco")
jacoco.reportFormats in jacoco.Config := Seq(XMLReport("utf-8"), HTMLReport("utf-8"))
jacoco.excludes in jacoco.Config := Seq("views*", "*Routes*", "controllers*routes*", "controllers*Reverse*", "controllers*javascript*", "controller*ref*")
javaOptions in jacoco.Config += "-Dconfig.resource=test.conf"