2009-07-08 68 views
8

我在哈德森有一个maven2项目,当cobertura报告插件运行时,它会导致单元测试显示它们已经运行两次。我不介意他们多次运行,但趋势图显示的是我们实际运行的测试的两倍。有没有办法确保图表只显示一次?哈德森和maven的双单元测试报告

感谢,

杰夫

+1

事实证明这只是使用maven2项目而不是自由式项目的一个问题 – 2009-07-08 15:01:12

+0

仍然没有解决哈德森:-(http://issues.hudson-ci.org/browse/HUDSON-1557 – 2009-12-15 17:22:07

回答

0

最近我有同样的问题,当我运行Maven目标测试艾玛:在同样的工作艾玛。艾玛似乎已经重新运行了所有测试,从而使结果翻倍。当我删除目标测试我的单元测试仍然执行,但测试结果恢复正常。可能与cobertura一样。

+0

这可能会工作,但那会我发现切换到一个自由风格的项目(虽然我失去了maven2项目的一些好处),但它的表现要好得多。趋势图显示prope测试不会被重复计算(即使它们运行两次)。 – 2009-07-08 19:25:31

1

我使用的解决方法(在Hudson 1.391中工作)是在单独的Maven配置文件中配置cobertura,并在Hudson作业中将其作为后期构建步骤运行。

模式的详细说明:

  1. 添加的Cobertura在一个特殊的个人资料中的项目POM(这样就不会同时默认的生命周期运行),并配置它来创建XML格式的报告。
  2. 安装“哈德森M2额外的步骤插件”
  3. 配置您的哈德逊工作作为Maven 2项目
  4. 在你的工作配置了“建设”一节中配置常用的清洁/安装目标
  5. 在“构建环境”部分选择“配置M2额外构建步骤”并添加Maven构建后步骤。其配置为运行“的Cobertura:-P的Cobertura your_cobertura_profile_name”
  6. 在“生成后操作”中选择“发布的Cobertura覆盖报告”,并配置适当的XML报告模式(默认情况下应该只是罚款)