ホームページ > バックエンド開発 > Python チュートリアル > 別のテスト ディレクトリを使用して Python プロジェクトで単体テストを簡単に実行するにはどうすればよいですか?

別のテスト ディレクトリを使用して Python プロジェクトで単体テストを簡単に実行するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-11-30 11:42:15
オリジナル
307 人が閲覧しました

How Can I Easily Run Unit Tests in a Python Project with a Separate Test Directory?

個別のテスト ディレクトリ構造を使用した Python プロジェクトでの単体テストの実行

クエリ:

多くの Python プロジェクトがディレクトリ構造を採用していますこれにより、単体テストが専用のテスト ディレクトリに分割されます。ただし、これらのテストをテスト ディレクトリから直接実行すると、インポートが失敗する可能性があります。ここで疑問が生じます: このような構造で単体テストを簡単に実行するにはどうすればよいでしょうか?

答え:

推奨されるアプローチには、unittest コマンドライン インターフェイスの利用が含まれます:

$ python -m unittest test_antigravity
ログイン後にコピー

ディレクトリ構造の例:

new_project/
    antigravity/
        antigravity.py
    test/
        test_antigravity.py
ログイン後にコピー

実行中上記のコマンドにより、プロジェクト ディレクトリがシステム パス (sys.path) に追加され、テスト ファイルから反重力モジュールを簡単にインポートできるようになります。

利点:

  • 手動パス変更なし: この方法では、PYTHONPATH を調整したり、他の検索を実行したりする必要がなくなります。パス関連の変更。
  • ユーザーにとって簡単: ユーザーは、Python ディレクトリ構造の高度な知識を必要とせずに、簡単なコマンドでテストを実行できます。
  • パッケージをサポート: テスト ディレクトリとモジュール ディレクトリがパッケージとして構成されている場合、テスト モジュールは、何も問題が発生することなく、目的のモジュールをシームレスにインポートできます。

追加オプション:

  • 特定のテスト モジュールの実行: 以下を使用します構文:

    $ python -m unittest test.test_antigravity
    ログイン後にコピー
  • テスト ケースまたはメソッドの実行: 次のコマンドを使用して単一のテスト ケースまたはメソッドを実行します:

    $ python -m unittest test.test_antigravity.GravityTestCase
    $ python -m unittest test.test_antigravity.GravityTestCase.test_method
    ログイン後にコピー
  • すべてのテストを検出して実行しています:テスト検出の採用:

    $ python -m unittest discover
    $ python -m unittest
    ログイン後にコピー

これにより、テスト パッケージ内のすべてのテスト モジュールが自動的に検出され、実行されます。

以上が別のテスト ディレクトリを使用して Python プロジェクトで単体テストを簡単に実行するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート