java - Hudson 没有意识到我在构建后执行了任何测试 - 有什么想法吗?

标签 java maven-2 continuous-integration hudson code-coverage

我正在使用 Hudson 和 Maven 构建一个 Java 项目。该项目包括两组不同的单元测试:(1) 一个普通的 Surefire 插件执行,其中包括单元和数据库集成测试,以及 (2) 一套配置文件激活的测试,必须使用 JUnit ant 任务*调用。

我可以理解为什么 Hudson 无法识别我的 JUnit ant 任务测试(它不能,但如果您知道有一种方法可以做到这一点,请告诉我!),但我不明白的是为什么它也无法看到我的 Surefire 测试执行。以前工作正常,但现在每个构建都报告“总共 0 次测试”。

我的 POM 中的 Surefire 插件声明如下所示:

<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 查看测试结果,这是有道理的。我将首先重新启用这些功能来尝试解决此问题。

最佳答案

据我所知,Hudson 依赖 XML 报告来生成其统计信息,而您明确禁用了这些报告:

<disableXmlReport>true</disableXmlReport>

关于java - Hudson 没有意识到我在构建后执行了任何测试 - 有什么想法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2195062/

相关文章:

javascript - 如何将代码推送到 AJAX/JS 密集型生产站点

git - Jenkins:从另一个存储库而不是我要构建的存储库加载 Jenkinsfile

java - 强制隐式数组边界检查的最便宜方法

java - ASM 如何在复制操作数堆栈(DUP_X1 和 DUP 操作数)时检查最大堆栈大小

java - JSONException 字符串无法转换为 JSONArray

maven-2 - 有依赖冲突时,如何中断Maven构建?

java - 如何运行maven目标目录中JAR文件中的java类?

azure - 使用 azure ci cd 本地部署 Java 代码

java - 为什么我的应用程序不能在旧设备上运行?

maven - 如何列出项目中定义的所有 Maven 配置文件,包括所有子模块?