【问题标题】:How to break Travis CI build if Appium/Mocha tests fail?如果 Appium/Mocha 测试失败,如何破坏 Travis CI 构建?
【发布时间】:2019-11-17 02:40:01
【问题描述】:
我有一个 Travis CI 项目,它构建一个 iOS 应用程序,然后启动 Appium 并使用 Appium/Mocha 运行测试。
问题是即使 Mocha 测试失败并抛出异常,通过 Gulp 运行它们的 shell 脚本仍然以 0 退出并且构建被视为通过。
当 Mocha 测试失败时,如何使构建中断/失败?
【问题讨论】:
标签:
testing
continuous-integration
mocha.js
appium
travis-ci
【解决方案1】:
以下是我设法完成这项工作的方法:
- 不要通过 Gulp 运行 Mocha 测试,而是直接从 shell 脚本运行它们
- 除了显示在标准输出上之外,将输出保存到 mocha.log
./node_modules/.bin/mocha --reporter spec "appium/hybrid/*uat.js" 2>&1 | tee mocha.log
- 检查 mocha.log 中是否存在字符串“failing”,如果找到则以 1 退出
.
if grep -q " failing" mocha.log; then
exit 1
fi
exit 1 将使 Travis 构建失败。