我已經得到編譯爲.exe的Python應用程序。
在某些情況下,程序與sys.exit()終止,但不關閉控制檯窗口,我用下面的代碼,它工作正常,這樣做:unittest中的系統(「暫停」)
try:
sys.exit()
except SystemExit:
raise
finally:
os.system("pause")
的問題是,我需要測試如果我的代碼提出SystemExit,但由於電影阻塞,測試無法通過 - 它們只是無限的。
有沒有可能讓單元測試通過os.system("pause")
?
我可以添加一個默認參數,這將防止暫停,但在我的情況下會很複雜 - 如果有任何可能,我想在單元測試中做到這一點。
你爲什麼要在應用程序級別上執行單元測試? –
只是爲該測試修補'os.system' – kwarunek
@ ignacio-vazquez-abrams - 我正在運行具有特定參數的main()函數並檢查它是否引發SystemExit - 如何在unittests中測試這個不知道我是否正確理解你的評論)? @kwarunek - 你能說更多嗎? – Djent