1
我有一个可以做东西的管理命令,或者可以返回一个sys.exit()
。Python:在单元测试中处理sys.exit?
我试图处理第二个情况下,在我的单元测试如下:
with self.assertRaises(SystemExit) as cm:
call_command('geocode_practices', *args, **opts)
self.assertEqual(cm.exception, 1)
但是这给了我:
AssertionError: None != 1
我在做什么错?
另外,处理不同场景的最佳方法是什么?目前,如果脚本没有退出,我的测试将失败。
这个测试是否会碰到“do stuff”或者'sys.exit()'的情况?并且该命令是否应该调用'sys.exit()'? – user2357112
管理命令应该可以从其他代码中调用,因此引发'SystemExit'实际上是一个坏主意。 –
@brunodesthuilliers谢谢,那么我应该如何处理退出管理命令? (我想在没有网络连接的情况下优雅地失败。) – Richard