我们在项目中配置了 emma,它会生成覆盖率报告。整个设置工作正常,直到我引入 PowerMock 来模拟一些静态方法。
当我用@RunWith(PowerMockRunner.class) 注释一个类时,emma 尝试再次启动覆盖过程并抛出地址绑定异常。我认为 maven surefire 正在为不同的跑步者分叉一个新的 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)
关于如何解决这个问题的想法?任何帮助都非常感激。谢谢