我有幾個保存在\ tests中的測試模塊。我然後在主類加載它們通過指定unittest.main()運行包中的所有測試模塊
from tests.ClassTests1 import *
from tests.ClassTests2 import *
...
unittest.main()
運行主程序之前,有沒有什麼辦法,以指導unittest.main()來運行\測試中的所有文件,而無需通過導入它們的無休止的重複去如上?例如。我試過from tests import *
,它不起作用。
編輯:我在程序化發現後沒有通過命令行發現。
非常感謝!
我已經更新了現在的問題,使其更清晰一點:我是在程序化發現之後而不是通過命令行發現的。 Python模塊內TestLoader.discover()的語法是什麼。謝謝! – afora377
'TestLoader.discover()'返回包含所有已發現測試的TestSuite對象。執行返回的TestSuite對象的'.run()'方法來運行這些測試。 (在我回答中發佈的鏈接中,這一切都得到了相當好的解釋,你有沒有仔細閱讀?) –
謝謝!這是一個大規模的閱讀,我是python的新手。所以我設法讓它發現了測試,但是,我無法弄清楚如何處理進口。現在要運行它,我需要明確指定至少一個測試模塊作爲導入,例如, '從tests.ClassTests1導入*'。這是與我直覺相反的,因爲我實際上在發現整個測試套件。但沒有這個導入它不會編譯。我究竟做錯了什麼?感謝您的幫助! – afora377