在Jenkins Maven作业中显示自定义测试结果

bpa*_*lla 10 continuous-integration maven jenkins

我刚刚在现有的Maven POM中添加了一些Python单元测试,但我似乎无法让Jenkins在运行构建时报告测试结果.

我正在"测试"阶段使用exec-maven-plugin从Maven 运行鼻子测试.测试从Jenkins作业成功运行,并生成与目标/ surefire-reports/TEST-nosetests.xml的xUnit兼容测试报告,但Jenkins没有获得结果.

有趣的是,Maven还报告在执行测试套件之前没有运行任何测试:

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
There are no tests to run.

Results :

Tests run: 0, Failures: 0, Errors: 0, Skipped: 0

[INFO] 
[INFO] --- exec-maven-plugin:1.1.1:exec (nosetests) @ server ---
[INFO] ................
[INFO] ----------------------------------------------------------------------
[INFO] Ran 16 tests in 194.799s
[INFO] 
[INFO] OK
[INFO] Registering compile source root /Volumes/Data/workspace/myProject/target
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
Run Code Online (Sandbox Code Playgroud)

那么这是Jenkins没有看到结果的问题,还是Maven没有将我的测试套件视为实际测试?

bpa*_*lla 19

我通过在Jenkins中使用"自由式软件项目"而不是"maven2/3"项目来解决这个问题.

新项目

在" 构建"下,选择" 添加构建步骤"并将项目配置为" 调用顶级Maven目标".我正在使用测试目标.

调用顶级Maven目标

最后,在Post-build Actions下,选择Publish JUnit测试结果报告的添加后构建操作,并将其指向测试的xUnit输出.出于某种原因,此选项不适用于Maven 2/3作业.

发布JUnit测试结果报告

  • 我认为与JENKINS-9980有关.https://issues.jenkins-ci.org/browse/JENKINS-9980 (3认同)