如果 Appium/Mocha 测试失败,如何中断 Travis CI 构建?
How to break Travis CI build if Appium/Mocha tests fail?
我有一个 Travis CI 项目,它构建了一个 iOS 应用程序,然后启动 Appium 并使用 Appium/Mocha 运行测试。
问题是即使 Mocha 测试失败并抛出异常,通过 Gulp 运行它们的 shell 脚本仍然以 0 退出并且构建被视为通过。
当 Mocha 测试失败时,如何构建 break/fail?
以下是我成功完成这项工作的方法:
- 而不是 运行 通过 Gulp 进行 Mocha 测试,运行 直接从 shell 脚本
- 除了在 stdout
上显示外,将输出保存到 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 构建失败。
我有一个 Travis CI 项目,它构建了一个 iOS 应用程序,然后启动 Appium 并使用 Appium/Mocha 运行测试。 问题是即使 Mocha 测试失败并抛出异常,通过 Gulp 运行它们的 shell 脚本仍然以 0 退出并且构建被视为通过。
当 Mocha 测试失败时,如何构建 break/fail?
以下是我成功完成这项工作的方法:
- 而不是 运行 通过 Gulp 进行 Mocha 测试,运行 直接从 shell 脚本
- 除了在 stdout 上显示外,将输出保存到 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 构建失败。