科贝图拉和码头
我正在尝试使用 cobertura 在 Jetty 上运行我的网络应用程序时获取覆盖率报告。 我们已经使用 Surefire 插件运行 cobertura 来进行单元测试。 我们还配置了故障安全插件来运行我们的集成测试。
我已经(手动)装备了我的战争并部署了它。
当仅使用集成测试配置文件运行 mvn verify
时,cobertura 似乎正在工作,因为我在 eclipse 控制台中收到各种新警告(我从那里运行 jetty)可能是因为字节码已更改通过科贝尔图拉。 但即使在码头服务器上调用 "stop"
时,我也无法写入 .ser
文件。
运行 mvn cobertura:cobertura
时,我确实得到了一个 .ser
文件,并且在我的 web 应用程序的 target/site
目录下生成了一份报告。该报告显示覆盖率为 0%,因为 cobertura:cobertura
未运行任何测试。
如何使用故障安全使 cobertura 运行我的集成测试? 还有其他建议吗?
谢谢, 本
I'm trying to get coverage report when running my webapp on Jetty, using cobertura.
We already have cobertura running for unit-tests by using the surefire plugin.
We also have the failsafe plugin configured for running our integration-tests.
I've already (manually) instrumented my war and deployed it.
When running mvn verify
with integration-tests only profile, it seems cobertura is working because I get all kind of new warnings in eclipse console (i'm running jetty from there) probably because byte-code was changed by cobertura.
But I don't get the .ser
file to be written, even when calling "stop"
on the jetty server.
I do get a .ser
file when running mvn cobertura:cobertura
and a report is generated under target/site
directory of my webapp. The report shows 0% coverage because cobertura:cobertura
doesn't run any tests.
How can I run my integration-tests using the failsafe make cobertura to work?
Any other suggestions?
Thanks,
Ben
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我通过使用 cobertura-it 插件解决了这个问题。它扩展了原始的 cobertura 插件并允许使用仅报告目标。此外,我必须运行两个单独的命令(见下文)来测试和生成报告(合并到 1 个命令不起作用)。这是我的插件配置。
所以我运行这个:
mvn clean verify
请注意,Jetty 停止后,有一些 cobertura 消息:
最后,我使用
mvn site
生成报告。这是我的报告配置I solved this issue by using cobertura-it plugin. It extends the original cobertura plugin and allows to use report-only goal. In addition, I must run two separate commands (see below) to test and generate reports (merging to 1 command does not work). Here is my plugin configuration.
So I run this:
mvn clean verify
Note that after Jetty is stopped, there is some cobertura messages:
Finally, I use
mvn site
to generate reports. Here is my report configuration也许您的
cobertura-maven-plugin
插件配置需要一些
标签。http://mojo.codehaus.org/cobertura-maven 上有一些示例-plugin/instrumentingDeploymentArtifact.html 但这个答案看起来更好:什么是正确的将 Cobertura 与 Maven 3.0.2 结合使用的方法
Perhaps you need some
<execution>
tag to yourcobertura-maven-plugin
plugin config.There are some examples on http://mojo.codehaus.org/cobertura-maven-plugin/instrumentingDeploymentArtifact.html but this answer looks better: What is the proper way to use Cobertura with Maven 3.0.2