UnitTestフレームワーク-テストディスカバリー

TestLoaderクラスにはdiscover()関数があります。Pythonテストフレームワークは、これを使用して簡単なテスト検出を行います。互換性を保つには、テストを含むモジュールとパッケージがトップレベルのディレクトリからインポート可能である必要があります。

以下は、テスト検出の基本的なコマンドラインの使用法です。

Python –m unittest discover

インタプリタは、テストを含むすべてのモジュールを現在のディレクトリと内部ディレクトリから再帰的にロードしようとします。その他のコマンドラインオプションは次のとおりです。

シニア番号 オプションと説明
1

-v, --verbose

冗長出力

2

-s, --start-directory

ディレクトリ検出を開始するディレクトリ(デフォルト)

3

-p, --pattern

patternテストファイルに一致するパターン(test * .pyのデフォルト)

4

-t, --top-level-directory

directoryプロジェクトの最上位ディレクトリ(デフォルトは開始ディレクトリ)

たとえば、「tests」ディレクトリで名前が「assert」で始まるモジュールのテストを検出するには、次のコマンドラインを使用します。

C:\python27>python –m unittest –v –s "c:\test" –p "assert*.py"

テスト検出は、テストをインポートしてロードします。テストディスカバリーは、指定した開始ディレクトリからすべてのテストファイルを検出すると、パスをパッケージ名に変換してインポートします。

開始ディレクトリをディレクトリへのパスではなくパッケージ名として指定した場合、discoverは、インポート元の場所が目的の場所であると想定するため、警告は表示されません。