フィクスチャの導入

Pythonによるテスト入門

Alexander Levin

Data Scientist

フィクスチャとは

  • フィクスチャ: テスト実行に使える準備済みの環境
  • フィクスチャのセットアップ: 複数のテストに必要な環境とリソースを準備するプロセス

ピクニックの準備に例えると:

  1. 友人を招待し食事を用意(これがフィクスチャ)
  2. 楽しむ
  3. 片付け
Pythonによるテスト入門

なぜフィクスチャが必要か

フィクスチャの利点:

  • テストのセットアップが簡単
  • 環境準備とテストを分離
  • フィクスチャコードを再利用可能
Pythonによるテスト入門

フィクスチャ例: 概要

次を前提とします:

  • data という Python の list 変数
  • data = [0, 1, 1, 2, 3, 5, 8, 13, 21]

検証したいこと:

  • 要素数が 9
  • 521 を含む
Pythonによるテスト入門

フィクスチャ例: コード

import pytest

# Fixture decorator
@pytest.fixture
# Fixture for data initialization
def data():
    return [0, 1, 1, 2, 3, 5, 8, 13, 21]

def test_list(data):
    assert len(data) == 9
    assert 5 in data
    assert 21 in data
Pythonによるテスト入門

フィクスチャ例: 出力

この例の出力: フィクスチャ例の出力

Pythonによるテスト入門

フィクスチャの使い方

フィクスチャを使うには次を行います:

  1. ソフトウェアとテストを用意
  2. 「環境の準備」を特定
  3. フィクスチャを作成:
    • @pytest.fixture デコレータを宣言
    • フィクスチャ関数を実装
  4. 作成したフィクスチャを使用:
    • テスト関数にフィクスチャ名を渡す
    • テストを実行!
Pythonによるテスト入門

まとめ

テスト用フィクスチャについて学びました:

  • フィクスチャ: テスト実行に使える準備済みの環境
  • テストのセットアップを簡単にし、テスト本体から分離するために使用
  • 例: Python の list を用意
  • @pytest.fixture を宣言して pytest フィクスチャを定義
    • 続けてフィクスチャ関数を定義
  • フィクスチャ名はテスト内で変数として使用
Pythonによるテスト入門

Ayo berlatih!

Pythonによるテスト入門

Preparing Video For Download...