我正在努力知道從unittest開始從何處入手,閱讀了潛入python教程並查看了http://pyunit.sourceforge.net/。使用pyunit單元測試「外部」程序的擴展
我有一個分析軟件(稱爲'prog.exe'),它使用python作爲它的輸入套件。我已經開始編寫一個python模塊,我將從該輸入套件導入以提供一些有用的功能。因此,運行這些分析的人會是這樣的:
prog.exe inputdeck.py
其中inputdeck.py
包含:
from mymodule import mystuff
那麼,如何建立和運行測試上mymodule
?以上是在系統調用setUp
方法的測試中,還是什麼?
確定 - 解決方案:
不要使用unittest.main()
因爲這是命令行工具。而不是直接調用相應的單元測試方法如下:
在命令行中運行:
prog.exe mytests.py
其中mytests.py
包含:
import unittest
# ... code to run the analysis which we'll use for the tests ...
# ... test definitions ...
suite = unittest.TestLoader().loadTestsFromTestCase(test_cases)
unittest.TextTestRunner().run(suite)
見例如在http://docs.python.org/release/2.6.7/library/unittest.html#unittest.TextTestRunner
是的運行它,這就是潛水-into-python教程(這在某些地方也有點過時)說。但如果我這樣做,prog.exe永遠不會涉及,所以我無法在mymodule中測試這些東西。我想這個問題是我想從命令行調用BOTH「python mymodule_test.py」和「prog.exe」,我看不出如何解決這個問題。 – lost