【问题标题】:Trigger Jenkins build failure from Android Spoon从 Android Spoon 触发 Jenkins 构建失败
【发布时间】:2015-01-07 10:47:47
【问题描述】:
我有一个运行 Spoon 来执行仪器测试的 Jenkins 工作。其中一项测试失败了,但这不会导致 Jenkins 像我预期的那样将构建标记为失败。
如何将测试失败传播给 Jenkins?
这是我启动 Spoon 的构建步骤:
java -jar $SPOON_RUNNER_JAR_PATH \
--sdk $ANDROID_SDK_DIR \
--apk testPackages/$testedApkName \
--test-apk testPackages/$testApkName
【问题讨论】:
标签:
android
jenkins
build
continuous-integration
spoon
【解决方案1】:
Spoon 还将 junit 格式的测试结果存储在 build/spoon/<build_flavour>/<build_type>/junit-reports/*.xml 中。
然后,您可以根据需要使用JUnit 或xUnit 将构建标记为失败。我更喜欢 xUnit,因为它允许为允许的失败设置阈值。
【解决方案2】:
我注意到 Spoon 输出了一个文件 spoon-output/result.json,可以针对单个测试失败进行解析。每个测试都有一个 JSON 字段,看起来像
"status": "PASS"
所以可以使用Log Parser Plugin。需要创建解析规则,例如:
error /"status": "FAIL".*/