我有一个可以返回非零退出代码的 Django 自定义命令。我想测试这个命令,但是对 sys.exit(1)
的调用退出了测试运行器。
是否有一种“正确”的方法可以在自定义 Django 命令中分配退出代码?
我的代码目前看起来像这样:
# Exit with the appropriate return code
if len(result.failures) > 0 or len(result.errors) > 0:
sys.exit(1)
最佳答案
我选择在测试中模拟对 sys.exit()
的调用,以防止它退出测试运行器:
from mock import patch
with patch('sys.exit') as exit_mocked:
call_command(...)
exit_mocked.assert_called_with(1)
关于python - 如何在能够测试的同时在自定义 Django 命令上返回非零退出代码?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35584199/