哈德森不承认我构建后执行任何测试 - 任何想法为什么?

问题描述:

我正在使用Hudson来构建一个Java项目w/Maven。该项目包括两套不同的单元测试:(1)包含单元&数据库集成测试的老式Surefire插件执行,以及(2)使用JUnit Ant任务调用的必然的配置文件激活测试套件*。哈德森不承认我构建后执行任何测试 - 任何想法为什么?

我可以理解哈德森为什么不承认我的JUnit蚂蚁任务测试(它不,但如果有办法做到这一点,请告诉我!),但是我不明白这就是为什么它无法看到我的Surefire测试执行。这以前工作正常,但现在每个构建报告“总共有0个测试”。

在我的POM我的保命插件声明看起来是这样的:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.4.2</version>     
    <configuration> 
     <disableXmlReport>true</disableXmlReport>     
     <includes> 
       <include>**/something/**/*Test.java</include> 
     </includes> 
     <excludes>     
      <exclude>**/somethingelse/**/*.java</exclude> 
     </excludes>    
    </configuration>     
</plugin> 

*我需要运行的下IBM JVM9,并与众多其他JCE/JAAS配置,我永远无法得到测试第二组在Surefire下正确启动

编辑:我发誓,它只是在我删除了XML注释之后,我看到我正在禁用XML报告,因此这可能会阻止Hudson查看测试结果。我会重新启用这些解决方案。

据我所知哈德森依赖于XML报告生成其统计和您明确禁用那些:

<disableXmlReport>true</disableXmlReport> 
+0

正如我在我的编辑表示,这是我所怀疑的为好。现在重建,假设你是对的。感谢您的确认。 – 2010-02-03 20:22:56

+0

这确实有效......有点。 Hudson在单个模块上处理多个聚合测试结果的工作并不出色。大多数屏幕将忽略一个测试套件或其他测试套件,但至少现在它可以识别所有测试。 – 2010-02-21 14:36:00