我们有类似的情景集成测试在码头服务器上运行。我们还需要所有测试单元和集成的综合报告。我们实现的解决方案是运行分支jetty并将jvoco的javaagent细节传递给jvmargs。我们的代码覆盖率报告涵盖了所有其余的api和服务层java代码。 为jacoco
org.jacoco
jacoco-maven-plugin
${jacoco-maven-plugin.version}
true
prepare-test
prepare-agent
${project.build.directory}/jacoco.exec
surefireArgLine
prepare-integration
prepare-agent-integration
${project.build.directory}/jacoco.exec
failsafeArgLine
利用上述配置的配置POM我们产生两个单元和集成测试的共同EXEC文件。接下来我们将码头配置为分叉
org.eclipse.jetty
jetty-maven-plugin
${jetty-maven-plugin.version}
foo
9999
/myway
src/main/webapp/WEB-INF/web.xml
${failsafeArgLine}
start-jetty
pre-integration-test
true
false
run-forked
stop-jetty
post-integration-test
stop
这将启动码头与jvmargs单独的jvm。最后,我们在pom的报告标签中生成报告。我们注意到将报告添加到构建插件并未捕获码头运行的集成测试。
org.jacoco
jacoco-maven-plugin
${jacoco-maven-plugin.version}
jacoco-report
report
该报告可在目标/网站/ jacoco/index.html的访问,交替,你可以在命令行中运行它。
MVN jacoco:报告
希望它能帮助。