Spring boot 通过在实际应用程序上运行验收测试获取jacoco报告

Spring boot 通过在实际应用程序上运行验收测试获取jacoco报告,spring-boot,testing,sonarqube,jacoco,acceptance-testing,Spring Boot,Testing,Sonarqube,Jacoco,Acceptance Testing,我对sonar和jacoco还不熟悉,我没能找到以下问题的答案 我们将使用声纳和jacoco来分析我们的测试覆盖范围 我们将有三种测试:单元测试、集成测试(使用spring引导测试)和验收测试,我们将在实际应用程序实例上运行。我们想要合并测试结果。为单元和集成测试生成jacoco文件不是问题,因为它们可以访问源代码。我们可以在声纳中合并这些报告 我的问题是,是否可以生成jacoco文件,用于与实际应用程序交互的验收测试?也许你会有一个如何做的链接 目前我最好的想法是在实际应用程序和嵌入式应用程序

我对sonar和jacoco还不熟悉,我没能找到以下问题的答案

我们将使用声纳和jacoco来分析我们的测试覆盖范围

我们将有三种测试:单元测试、集成测试(使用spring引导测试)和验收测试,我们将在实际应用程序实例上运行。我们想要合并测试结果。为单元和集成测试生成jacoco文件不是问题,因为它们可以访问源代码。我们可以在声纳中合并这些报告

我的问题是,是否可以生成jacoco文件,用于与实际应用程序交互的验收测试?也许你会有一个如何做的链接

目前我最好的想法是在实际应用程序和嵌入式应用程序上运行两次验收测试,并从嵌入式应用程序获取报告。但也许有更好的解决办法。
谢谢,

JaCoCo能够记录Java应用程序的任何类型的执行情况-您只需启动此应用程序,例如:

java -javaagent:jacoco-0.8.0/lib/jacocoagent.jar -cp classes Main
默认情况下,在应用程序终止时,这将生成包含执行数据的文件
jacoco.exec
。还有

互联网上有很多在各种情况下使用代理的例子,比如,等等

之后,可以使用此执行数据
jacoco.exec
生成报告,以生成执行数据。例如,使用(还有,):

报告可以在没有源文件的情况下生成,但在这种情况下,您将无法向下钻取低于方法级别的粒度:

包含源文件的报告:

jacoco-0.8.0/lib/jacococli.jar \
  report \
  jacoco.exec \
  --classfiles classes \
  --html report \
  --sourcefiles src


现在介绍SonarQube:它执行
exec
和类文件的分析,因此还要求类文件与运行时生成
exec
文件时使用的类文件相同。所以你需要保证SoaRuQube的分析是与测试中完全相同的类文件执行的。

谢谢,这正是我所要寻找的。@ Evgen请考虑不只是接受答案,而且在我同时做的同时进行投票,但是我在接受之前就投票赞成了,所以它可能看起来不是我。
jacoco-0.8.0/lib/jacococli.jar \
  report \
  jacoco.exec \
  --classfiles classes \
  --html report \
  --sourcefiles src