我想測試一個函數在失敗時執行os._exit(2)
。我看過sys.exit()
使用SystemExit
許多解決方案。我曾經讀過的Python3和Python2文檔,似乎os._exit()
不使用SystemExit
是否可以測試使用`os._exit()`的函數?
不過,我已經在一樁案件this這是在我身邊的文檔的誤解,但它只是退出nosetest,這是甚至沒有一個測試失敗:
make: *** [test] Error 2
這可能是由於函數調用os._exit(2)
作爲最後的手段,如果你不會找到更好的解決辦法,只是重寫'os._exit'方法:https://repl.it/J82h/0 – bakatrouble
你只是想測試的功能*調用*'os._exit(2)',或者你想測試實際的退出?如果是前者,你可以按照bakatrouble的建議嘲弄這個功能。但是如果是後者,你可能不得不編寫一個調用該函數的單獨程序,然後用'os.system'或者其他方法來測試該程序,以驗證它是否以該代碼退出。 – BrenBarn
我想測試的函數是一個自定義錯誤函數:一旦調用,它會記錄錯誤消息,然後調用'os._exit(2)'。我想測試日誌記錄部分和退出部分。由於我只是想測試這個模塊,所以我不能真正觸及代碼。 – Hawker65