gpt4 book ai didi

fork - 使用 Powermock 覆盖 Emma

转载 作者:行者123 更新时间:2023-12-01 00:40:06 25 4
gpt4 key购买 nike

我们在项目中配置了 emma,它会生成覆盖率报告。整个设置工作正常,直到我引入 PowerMock 来模拟一些静态方法。

当我用@RunWith(PowerMockRunner.class) 注释一个类时,emma 尝试再次启动覆盖过程并抛出地址绑定(bind)异常。我认为 maven surefire 正在为不同的运行者 fork 一个新的 JVM,而 emma 试图在新的 JVM 上再次启动。

我为surefire forkMode尝试了不同的选项,但没有帮助。
Running util.HttpClientFactoryTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.154 sec
Running xxx.util.ServiceConnectorUtilTest
EMMA: collecting runtime coverage data ...
java.net.BindException: Address already in use: JVM_Bind
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:383)

关于如何解决这个问题的想法?任何帮助都非常感激。谢谢

最佳答案

如果你不指定使用 maven 的 emma 插件的版本将默认为

<groupId>org.sonatype.maven.plugin</groupId>
<artifactId>emma-maven-plugin</artifactId>
<version>1.0</version>

如果您在构建标签中指定最新版本 1.2(或 1.1)
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.sonatype.maven.plugin</groupId>
<artifactId>emma-maven-plugin</artifactId>
<version>1.0</version>
</plugin>
</plugins>
</pluginManagement>...

问题应该消失

关于fork - 使用 Powermock 覆盖 Emma,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9575149/

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