標準テスト ディレクトリ構造を使用した単体テストの実行
多くの Python プロジェクトは、単体テストが別の " に保存される典型的なディレクトリ構造を採用しています。テスト」ディレクトリ。ここで疑問が生じます: これらのテストを効果的に実行するにはどうすればよいですか?
問題と問題
「test」ディレクトリから直接 test_antigravity.py を実行すると失敗します。反重力モジュールがシステム パス上にありません。 PYTHONPATH の変更や同様のパス関連のトリックは、最適な解決策ではない可能性があります。テスト ファイルをコピーして別のディレクトリに貼り付けるのは効率が悪いようです。
解決策:unittest コマンド ライン インターフェイスを使用する
最も推奨されるアプローチは、unittest コマンドを使用することです。ラインインターフェース。現在のディレクトリが sys.path に自動的に追加され、テスト対象のモジュールをシームレスにインポートできるようになります。
次のような構造の場合:
new_project └── test_antigravity.py
次を実行するだけです。
$ python -m unittest test_antigravity
構造体の場合例:
new_project ├── antigravity │ └── antigravity.py └── test ├── test_antigravity.py
単一のテスト モジュールを実行できます:
$ python -m unittest test.test_antigravity
単一のテストを実行します:
$ python -m unittest test.test_antigravity.GravityTestCase
単一のテスト メソッドを実行します:
$ python -m unittest test.test_antigravity.GravityTestCase.test_method
すべてを実行testing:
$ python -m unittest discover $ # Also works without discover for Python 3 $ # as suggested by Burrito in the comments $ python -m unittest
このアプローチは、ユーザーが「単体テストを実行するには、X を実行してください。」という指示に従うだけで単体テストを実行するのに便利です。
以上がPython の標準の「test」ディレクトリから単体テストを効果的に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。