问题描述
我有一个 bash 脚本来运行我的测试:
#!/bin/bash
coverage run --source='directory_for_coverage' manage.py test
coverage report --fail-under=87
但是当我运行脚本时,它只在覆盖失败时返回错误代码,如果其中一个测试失败,则不会返回错误代码。我认为因为我没有使用 --ignore-errors
开关,所以 coverage run
应该从失败的测试中返回错误代码。我错过了什么?
解决方法
我通过在脚本中添加 set -e
命令解决了这个问题:
#!/bin/bash
set -e
coverage run --source='directory_for_coverage' manage.py test
coverage report --fail-under=87