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