我的 Travis yml 文件的脚本部分如下所示:
script:
- ./run_tests.sh
脚本本身在 Sauce Labs 上运行一些测试。如果脚本由于测试失败而失败,它仍然会以代码 0 退出,并且构建也会继续通过。如果测试失败,为什么脚本不会退出并显示失败代码?
当我从脚本文件末尾输出退出代码时,我得到 0。当我在脚本命令之后立即在 .travis.yml 文件中输出退出代码时,我得到 1:
echo $?
0
The command "./run_tests.sh" exited with 0.
$ echo $?
1
最佳答案
我意识到这是因为我实际上是使用 unittest.TextTestRunner 运行测试,并且这些测试的退出代码始终为 0,除非您专门捕获测试失败并根据它们退出:
ret = not runner.run(test_suite).wasSuccessful()
sys.exit(ret)
关于python - Travis 脚本退出代码永远不会失败,即使应该失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43244957/