使用Jacoco对使用Powermock编写的测试类进行单元测试范围

编程入门 行业动态 更新时间:2024-10-22 19:39:11
本文介绍了使用Jacoco对使用Powermock编写的测试类进行单元测试范围的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在尝试在jenkins的sonarqube仪表板上获取代码覆盖率报告.即将发布代码覆盖率报告,但仅显示4.6%的覆盖率.经过调查,我发现使用PowerMocks编写的测试类已被跳过.

I am trying to get the code coverage report on the sonarqube dashboard on jenkins. The code coverage report is coming up but showing only 4.6% coverage. On investigating I found out that the test classes written using PowerMocks are getting skipped.

在进一步的调查中,我发现"JaCoCo在动态修改/创建的类上不能很好地发挥作用(这是powermock的工作方式.这是已知的限制,我们目前无法对此进行任何处理."

On further investigation I found that "JaCoCo doesn't play well with dynamically modified/created classes (this is the way how powermock works). This is a known limitation we can't currently do anything about".

是否有任何解决方法,以便我也可以获得使用PowerMocks编写的测试类的适当代码覆盖范围.

Is there any work around for this so that I can get proper code coverage for test classes written using PowerMocks too.

推荐答案

我已成功使用powermock-module-javaagent使用Jacoco生成了PowerMock覆盖范围.

I have managed to generate PowerMock coverage with Jacoco, using powermock-module-javaagent.

只需确保将Powermock代理放在 jacoco代理之后:

Just make sure you put powermock agent after jacoco agent:

<artifactId>maven-surefire-plugin</artifactId> <configuration> <useSystemClassLoader>true</useSystemClassLoader> <argLine>${jacocoArgLine} -javaagent:${settings.localRepository}/org/powermock/powermock-module-javaagent/${powermock.version}/powermock-module-javaagent-${powermock.version}.jar -noverify</argLine> ...

如果要查看示例,请看以下项目: github. com/jfcorugedo/sonar-scanner

If you want to see an example, take a look at this project: github/jfcorugedo/sonar-scanner

在这里您可以看到声纳将静态方法和PowerMock模拟的new语句考虑在内:

Here you can see that sonar takes into account static methods and new statements mocked by PowerMock:

如果要模拟new语句,请确保使用PowerMockRule而不是PowerMockRunner.

If you want to mock newstatements make sure you use PowerMockRule instead of PowerMockRunner.

看看此测试

更多推荐

使用Jacoco对使用Powermock编写的测试类进行单元测试范围

本文发布于:2023-10-31 04:52:49,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1545060.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:单元测试   测试   Jacoco   Powermock

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!