如果 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?

以下是我成功完成这项工作的方法:

  1. 而不是 运行 通过 Gulp 进行 Mocha 测试,运行 直接从 shell 脚本
  2. 除了在 stdout
  3. 上显示外,将输出保存到 mocha.log

./node_modules/.bin/mocha --reporter spec "appium/hybrid/*uat.js" 2>&1 | tee mocha.log

  1. 检查 mocha.log 字符串“failing”,如果找到则以 1 退出

.

if grep -q " failing" mocha.log; then
   exit 1
fi

exit 1 将使 Travis 构建失败。