フィクスチャの連鎖リクエスト

Pythonによるテスト入門

Alexander Levin

Data Scientist

連鎖リクエストとは

  • フィクスチャの連鎖リクエスト: あるフィクスチャが別のフィクスチャを利用できる pytest の機能
  • フィクスチャの合成を作る

フィクスチャが別のフィクスチャを呼び出す

Pythonによるテスト入門

なぜ・いつ使うか

連鎖リクエストの利点:

  • フィクスチャ間の依存関係を定義
  • コードをモジュール化して保つ

有用な場面:

  • 複数のフィクスチャが相互依存しているとき
Pythonによるテスト入門

連鎖リクエストの例

# 他のフィクスチャから要求されるフィクスチャ
@pytest.fixture
def setup_data():
    return "I am a fixture!"
# テスト関数から要求されるフィクスチャ
@pytest.fixture
def process_data(setup_data):
    return setup_data.upper()
# テスト関数
def test_process_data(process_data):
    assert process_data == "I AM A FIXTURE!"
Pythonによるテスト入門

連鎖リクエストの使い方

  1. テスト対象のプログラムを用意
  2. テスト関数を用意
  3. pytest フィクスチャを用意
  4. 片方のフィクスチャのシグネチャに他方のフィクスチャ名を渡す
# 他のフィクスチャを要求するフィクスチャ
@pytest.fixture
def process_data(setup_data):
    return setup_data.upper()
Pythonによるテスト入門

まとめ

  • 連鎖リクエストは、フィクスチャが別のフィクスチャを使える機能(合成の作成)
  • 関数ごとに分割し、モジュール性を維持
  • 例: データパイプラインの各工程
  • 使い方: 他方のフィクスチャ名をフィクスチャのシグネチャに渡す
Pythonによるテスト入門

練習してみましょう!

Pythonによるテスト入門

Preparing Video For Download...