gpt4 book ai didi

java - 获取jmeter功能测试代码覆盖率

转载 作者:太空宇宙 更新时间:2023-11-04 11:02:47 26 4
gpt4 key购买 nike

我正在尝试使用 Maven 插件提取有关 jmeter 功能测试执行的代码覆盖率报告。我尝试使用 jacoco 插件将其配置为生成代码覆盖率报告,但它似乎只能使用 java 类格式的单元和集成测试进行配置,例如*IT.java 或 *Test.java。但就我而言,功能测试执行是使用 jmeter 插件使用 Jmeter .jmx 文件进行的。我知道获得功能测试的代码覆盖率很少见,但如果有人做过类似的事情,请分享一些细节。下面是我用于 Jmeter 测试执行的插件。

<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>2.1.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
<configuration>
<ignoreResultFailures>true</ignoreResultFailures>
<resultsDirectory>${jmeter-testresults}</resultsDirectory>
<propertiesUser>
<hostname>${jmeter-testhost}</hostname>
<hostport>${jmeter-testport}</hostport>
<testresults>${jmeter-testresults}</testresults>
</propertiesUser>
<propertiesJMeter>
<jmeter.save.saveservice.url>true</jmeter.save.saveservice.url>
<jmeter.save.saveservice.samplerData>true</jmeter.save.saveservice.samplerData>
</propertiesJMeter>
</configuration>
</plugin>

最佳答案

我可以使用 git bash 命令行获取代码覆盖率。以下是步骤。

  • http://www.eclemma.org/jacoco/下载jacoco项目并在您本地提取,例如C:/哈科科。它将在 lib 文件夹中包含 jacocoagent.jar 和 jacococli.jar。

  • 打开 Git bash(您也可以使用简单的命令行)。

    export MAVEN_OPTS="-javaagent:C:\jacoco\lib\jacocoagent.jar=output=tcpserver"
    mvn exec:java -Dexec.mainClass="full package name to your main class"

上面的命令会在服务器启动期间将jacocoagent注入(inject)到maven jvm中,以便它可以读取和捕获执行流并将taht存储在tcpserver上。我使用 tcpserver 作为输出,通过使用文件模式,我需要正常关闭 jvm 才能获取执行数据。服务器启动后,执行

mvn verify

验证命令已与我的 pom xml 中的 Jmeter 执行插件集成。所以验证命令将触发我的 Jmeter 测试执行。现在,由于执行数据驻留在 tcp 服务器上,我们需要将其转储到 jacoco 文件中以获取报告。执行以下命令将执行数据转储到 jacoco.exec 文件中

java -jar C:/jacoco/lib/jacococli.jar dump --destfile "your local path/jacoco.exec"

现在您应该看到在提到的路径中生成了 jacoco.exec 文件。然而,该数据不是人类可读的格式。要生成可读 html 格式的报告,请执行以下命令。

java -jar C:/jacoco/lib/jacococli.jar report "Path to jacoco file/jacoco.exec" --classfiles "Path to project class files" --html "path to store report\jacoco-report" --name myReport --sourcefiles "Path to source files"

现在您应该能够看到在给定路径生成的 html 格式的报告。

Reference

关于java - 获取jmeter功能测试代码覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46711015/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com