从 maven 2 切换到 maven 3 后,我发现 cobertura 报告的测试覆盖率为 0%。我已经提出了关于使用哪些版本的 cobertura 和 surefire 的问题:哪些版本的 cobertura 和 surefire 插件在 maven3 下一起工作?
但是,我对问题进行了更深入的调查,发现配置片段不起作用:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${surefire.plugin.version}</version>
<configuration>
<forkMode>never</forkMode>
<redirectTestOutputToFile>true</redirectTestOutputToFile>
<argLine>-Xmx512m -XX:MaxPermSize=256m</argLine>
</configuration>
</plugin>
将 forkMode 从更改never
为once
测试覆盖率后开始生成。所以,问题不在于插件版本不兼容本身,而是cobertura在maven 3下对surefire的各种fork模式支持的问题。
所以,我的问题是,它是一个错误,还是 cobertura 插件是这样设计的,它不适用于一些forkMode=never
?