Java 获取jmeter功能测试代码覆盖率
我正在尝试使用maven插件提取jmeter功能测试执行的代码覆盖率报告。我尝试使用jacoco插件将其配置为生成代码覆盖率报告,但它似乎只能通过单元和集成测试进行配置,这些测试采用java类的格式,例如*it.java或*Test.java。但是在我的例子中,功能测试是在使用Jmeter插件的Jmeter.jmx文件中执行的。我知道功能测试的代码覆盖率很少,但是如果有人做过类似的事情,请分享一些细节。下面是我用于Jmeter测试执行的插件Java 获取jmeter功能测试代码覆盖率,java,jmeter,code-coverage,maven-plugin,jacoco-maven-plugin,Java,Jmeter,Code Coverage,Maven Plugin,Jacoco Maven Plugin,我正在尝试使用maven插件提取jmeter功能测试执行的代码覆盖率报告。我尝试使用jacoco插件将其配置为生成代码覆盖率报告,但它似乎只能通过单元和集成测试进行配置,这些测试采用java类的格式,例如*it.java或*Test.java。但是在我的例子中,功能测试是在使用Jmeter插件的Jmeter.jmx文件中执行的。我知道功能测试的代码覆盖率很少,但是如果有人做过类似的事情,请分享一些细节。下面是我用于Jmeter测试执行的插件 <plugin>
<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>
com.lazerycode.jmeter
jmetermaven插件
2.1.0
jmeter测试
验证
性能测试
真的
${jmeter测试结果}
${jmeter testhost}
${jmeter testport}
${jmeter测试结果}
真的
真的
我能够使用git bash命令行获得代码覆盖率。以下是步骤
- 从本地下载jacoco项目,并在本地进行摘录,例如C:/jacoco。它将在lib文件夹中包含jacocagent.jar和jacoccli.jar
- 打开GitBash(也可以使用简单的命令行)
export MAVEN_OPTS=“-javaagent:C:\jacoco\lib\jacoagent.jar=output=tcpserver”
mvn exec:java-Dexec.mainClass=“主类的完整包名”
我能够使用git bash命令行获得代码覆盖率。以下是步骤
- 从本地下载jacoco项目,并在本地进行摘录,例如C:/jacoco。它将在lib文件夹中包含jacocagent.jar和jacoccli.jar
- 打开GitBash(也可以使用简单的命令行)
export MAVEN_OPTS=“-javaagent:C:\jacoco\lib\jacoagent.jar=output=tcpserver”
mvn exec:java-Dexec.mainClass=“主类的完整包名”
使用JMeter进行功能测试也是不寻常的。JMeter并不是世界上最方便使用的工具,至少在性能测试方面,您别无选择,但为什么要将它用于功能测试呢?尤其是当代码覆盖率是一个目标时。为什么不使用普通的测试框架——junit、testng等,并简单地在该框架中编写功能测试呢?那里的代码覆盖非常简单……这里Jmeter测试更多地被用作微服务的API测试。因此,在jmeter测试执行时,我需要测试api的代码覆盖率报告。到目前为止,我有一份报告,没有涵盖任何API,也没有未涵盖任何API。我需要扩展结果,以便在执行API时覆盖代码库,以获得有关缺失案例的更多深度信息。由于JMeter对源代码的可见性为零,我不知道如何从JMeter端完成。我认为唯一的方法是在micro serv上使用一些分析工具