哈德森不承认我构建后执行任何测试 - 任何想法为什么?
问题描述:
我正在使用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>
正如我在我的编辑表示,这是我所怀疑的为好。现在重建,假设你是对的。感谢您的确认。 – 2010-02-03 20:22:56
这确实有效......有点。 Hudson在单个模块上处理多个聚合测试结果的工作并不出色。大多数屏幕将忽略一个测试套件或其他测试套件,但至少现在它可以识别所有测试。 – 2010-02-21 14:36:00