前面我們說了,對於不同文件用例,我們可以通過addTest()把用例加載到一個測試套件(TestSuite)來統一執行,對於少量的文件這樣做沒問題,但是如果有幾十上百個用例文件,這樣做就太浪費時間了。
unittest中的discover()方法可以批量加載用例
discover(start_dir, pattern='test*.py', top_level_dir=None)
- start_dir:測試模塊名或測試用例所在目錄
- pattern='test*.py':表示用例文件名的匹配方式,此處匹配的是以test開頭的.py類型的文件,*表示匹配任意字符
- top_level_dir:測試模塊的頂層目錄
代碼:
import unittest if __name__ == "__main__": # 測試用例目錄 test_dir = r"D:\Git\Test_Framework\test_case" # 加載測試用例 discover = unittest.defaultTestLoader.discover(test_dir, 'test*.py') runner = unittest.TextTestRunner(verbosity=2) runner.run(discover)