2013-04-05 12 views
0

我定義了一個非常簡單的配置管理器(解析配置文件並驗證其中存在某些鍵),現在我正在爲它編寫一些測試。使用`unittest`來驗證`exit`函數被調用

在配置文件無效的許多情況下,我希望配置處理程序調用exit()。有什麼方法可以編寫測試以確保exit被調用並仍在繼續測試?我可以,也可以僅爲測試環境,「模擬」exit函數?

我使用Python 2.7和unittest

回答

1

sys.exit()引發了SystemExit異常,這應該被unittest框架捕獲。所以你可以檢查SystemExit是爲那些測試用例而產生的。

例,exit_test.py

import sys 
import unittest 


def func(): 
    sys.exit() 


class MyTest(unittest.TestCase): 

    def test_func(self): 
     self.assertRaises(SystemExit, func) 


if __name__ == "__main__": 
    unittest.main() 

運行:

$ python exit_test.py 
. 
---------------------------------------------------------------------- 
Ran 1 test in 0.000s 

OK 
+0

出色答卷,工作就像一個魅力。謝謝。 – mjgpy3 2013-04-05 16:12:46

相關問題