このブラウザーはサポートされなくなりました。
Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。
conftest.py ファイルでフィクスチャを定義することの利点の一つは何ですか?
同じディレクトリとそのサブディレクトリ内のテストでは、インポートせずに名前でそれらのフィクスチャを要求できます。
conftest.py で定義 されている フィクスチャは、テスト ファイルがインポートしたときにのみ実行されます。
conftest.py のフィクスチャは、同一のファイル内のテストによってのみ要求できます。
テストが @pytest.mark.parametrize の良い候補になる要因は何ですか?
@pytest.mark.parametrize
複数の入力値または入力/期待値のペアに対して同じテスト ロジックを実行する必要がある場合。
関連のない動作を 1 つのテスト関数でチェックする必要がある場合。
テストを並列で実行する必要がある場合。
入力値と期待値の両方を必要とするテストをどのようにパラメーター化しますか?
コンマ区切りの引数名の文字列と、 @pytest.mark.parametrize("test_input, expected_value", [("3+5", 8), ("3*4", 12)])などのタプルの一覧を使用します。
@pytest.mark.parametrize("test_input, expected_value", [("3+5", 8), ("3*4", 12)])
すべての入力値に 1 つのリストを使用し、すべての予期される値に個別の関連付けられていないリストを使用します。
pytest ではサポートされていないため、複数の引数名は使用しないでください。
pytest フィクスチャに対して scope="module" は何をしますか?
scope="module"
Pytest はモジュールのフィクスチャ値を 1 つ作成してキャッシュし、pytest がそのモジュールの最後のテストを完了した後、モジュールの破棄中に破棄します。
Pytest は、モジュール内のすべてのアサーションの前に新しいフィクスチャ値を作成します。
Pytest は、conftest.py ファイルがなくてもフィクスチャを利用可能にします。
conftest.py
yieldベースのフィクスチャでは、yield後のコードはいつ実行されますか?
yield
テスト解体中、要求されたテストまたはフィクスチャのスコープが終了した後。
pytest がフィクスチャ値をテストに渡す前。
テストが失敗した場合のみ。
テストで関数または環境の値を置き換えるときに monkeypatch フィクスチャを使用する理由
monkeypatch
要求するテストまたはフィクスチャが完了すると、変更が自動的に元に戻されます。
アプリケーション コードが完全に変更されるため、後でテストで同じ値が表示されます。
パラメーター化されたテストを並列で実行します。
作業を確認する前にすべての問題に回答する必要があります。
このページはお役に立ちましたか?
このトピックについてサポートが必要ですか?
このトピックの意図を把握したり、理解を深めたりするために Ask Learn を使ってみませんか?