【发布时间】:2009-02-19 13:34:13
【问题描述】:
我想在生产环境中运行Atlassian Clover(我没有开销问题)。有没有人有这方面的经验,或者你能指导我怎么做吗?
我的目标是根据真实用户的操作获取 clover 报告。我正在使用 JBoss + JDK 1.5
【问题讨论】:
标签: java jboss code-coverage instrumentation clover
我想在生产环境中运行Atlassian Clover(我没有开销问题)。有没有人有这方面的经验,或者你能指导我怎么做吗?
我的目标是根据真实用户的操作获取 clover 报告。我正在使用 JBoss + JDK 1.5
【问题讨论】:
标签: java jboss code-coverage instrumentation clover
您可以将 clover 构建(以及检测期间生成的 coverage.db 文件)部署到您的服务器,添加一堆特定于 clover 的 java 选项来设置它,然后收集结果,使用 clover 合并它们工具并生成报告。有关详细说明,请参阅Clover Wiki。
请注意,默认情况下,clover 会在进程终止时转储覆盖率数据 - 您可能需要对如何使其定期发生进行一些研究。查看-flushpolicy 和-flushinterval 选项。
【讨论】:
终于找到答案了,谢谢大家。 在创建 Clover DB(cmd/或 eclipse 集成)之后,在启动我的应用服务器时,我添加了以下参数 -Djboss.shutdown.forceHalt=false -Dclover.initstring.basedir=/coverage.db 它会做的工作
【讨论】:
一般的策略是在编译 Web 应用程序时使用 Clover(或 Cobertura 或类似工具)。如果您使用 maven 进行构建,则可以使用 cobertura 插件:
http://mojo.codehaus.org/cobertura-maven-plugin/instrument-mojo.html
使用 cobertura:instrument 目标轻松添加此内容。然后像以前一样将生成的战争放到 JBoss 中。
您可能也对 Glassbox 感兴趣:
http://www.glassbox.com/glassbox/Home.html
它不会生成代码覆盖率,而是为您提供有关正在发生的事情的高级报告,并可以告诉您哪里可能存在瓶颈。
【讨论】:
我已经很久没有使用三叶草了……但我确实使用 cobertura (http://cobertura.sourceforge.net/faq.html) 来进行代码覆盖。查看 cobertura 的常见问题解答,它确实适用于 JBoss。
【讨论】: