Pythonのunittest
モジュールを使用して、複数のテストケースを一括で実行する方法について説明します。
unittestのTestLoader.discoverメソッド
Pythonのunittest
モジュールにはTestLoader
クラスがあり、このクラスのdiscover
メソッドを使用すると、指定したディレクトリ以下のテストケースを一括で実行することができます。
import sys
from unittest import TestLoader, TextTestRunner
def main(path):
loader = TestLoader()
test = loader.discover(path)
runner = TextTestRunner()
runner.run(test)
if __name__ == '__main__':
if len(sys.argv) != 2:
print('usage: %s path' % sys.argv[0])
sys.exit(1)
main(sys.argv[1])
上記のスクリプトは、引数としてディレクトリを受け取り、そのディレクトリ以下のテストケースを一括で実行します。
注意点
TestLoader.discover
メソッドは、デフォルトではtest*.py
というパターンのファイルをテストケースとして認識します。したがって、テストケースを含むPythonファイルの名前はtest
で始まるようにしてください。
また、テストケースをサブディレクトリに分けて管理する場合、各サブディレクトリに__init__.py
ファイルを配置することで、そのディレクトリ以下のテストケースも一括で実行することができます。
以上が、Pythonのunittest
モジュールを使用してテストケースを一括で実行する方法です。これにより、テストケースの管理と実行がより効率的になります。