典型的なディレクトリ構造を使用した単体テストの実行
Python の共通モジュール構造では、以下に示すように、単体テストを専用のテスト ディレクトリに分割することがよくあります。 :
new_project/ antigravity/ antigravity.py test/ test_antigravity.py setup.py etc.
これらのテストを実行するには、単に実行するだけでは不十分です。 test ディレクトリから python test_antigravity.py を取得します。反重力がインポート パス上にないため、このアプローチは失敗します。
代わりに、テストを実行する最も簡単な方法は、unittest コマンド ライン インターフェイスを使用することです。このユーティリティはディレクトリを sys.path に自動的に追加し、モジュールをインポートできるようにします。
次のようなディレクトリ構造の場合:
new_project ├── antigravity.py └── test_antigravity.py
次のようにテストを実行します。
$ cd new_project $ python -m unittest test_antigravity
あなたのような構造の場合、antigravity ディレクトリと test ディレクトリの両方にパッケージがある場合、test で通常どおり、antigravity 内にモジュールをインポートできます。モジュール:
# import the package import antigravity # import the antigravity module from antigravity import antigravity # or an object inside the antigravity module from antigravity.antigravity import my_object
特定のテストの実行:
特定のテスト モジュール (例: test_antigravity.py) を実行するには:
$ cd new_project $ python -m unittest test.test_antigravity
単一のテスト ケースを実行することもできます。メソッド:
$ python -m unittest test.test_antigravity.GravityTestCase $ python -m unittest test.test_antigravity.GravityTestCase.test_method
すべてのテストの実行:
テスト検出を使用して、すべてのテストを自動的に検出して実行します:
$ cd new_project $ python -m unittest discover
これは実行されますテスト パッケージ内のすべての test*.py モジュール。詳細については、検出に関する公式ドキュメントを参照してください。
以上が標準のディレクトリ構造を使用して Python で単体テストを効果的に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。