unittest詳細(四)一括実行例(discover)

1662 ワード

前述したように、異なるファイルの使用例については、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)

     
    転載先:https://www.cnblogs.com/eastonliu/p/9145710.html