我只是在现有的 Maven POM 中添加了一些 Python 单元测试,但我似乎无法让 Jenkins 在运行构建时报告测试结果。
我在运行 nose来自 Maven 的测试 exec-maven-plugin在“测试”阶段。测试从 Jenkins 作业成功运行并生成 xUnit 兼容的测试报告到 target/surefire-reports/TEST-nosetests.xml,但 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] ------------------------------------------------------------------------
那么这是 Jenkins 看不到结果的问题,还是 Maven 没有将我的测试套件视为实际测试的问题?
最佳答案
我通过在 Jenkins 中使用“自由式软件项目”而不是“maven2/3”项目解决了这个问题。
下 构建 ,选择 添加构建步骤 并将项目配置为 调用顶级 Maven 目标 .我正在使用测试目标。
最后,在下构建后操作 选择 添加构建后操作 的 发布 JUnit 测试结果报告 并将其指向测试的 xUnit 输出。由于某种原因,此选项不适用于 Maven 2/3 作业。
关于maven - 在 Jenkins Maven 作业中显示自定义测试结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13459541/