Pytestフレームワーク:自動テストのセットアップと実行
メニューを表示するにはスワイプしてください
インストール
まず最初に、Pytest をインストールします。この手順は Python のパッケージマネージャーである pip を使うことで簡単に行えます。コマンドラインまたはターミナルを開き、次のコマンドを入力します:
pip install pytest
プロジェクトの仮想環境内で実行することを推奨します。
構文の説明
Pytest が Python コミュニティで広く支持されている理由の一つは、そのシンプルで分かりやすい構文です。他のテストフレームワークと異なり、Pytest では非常に読みやすいテストコードを書くことができます。概要は以下の通りです:
- テストファイル: pytest は test_ で始まる、または _test.py で終わるファイルを認識します;
- テスト関数: これらのファイル内で test_ で始まる関数は、自動的にテスト関数として pytest に認識されます;
- アサーション: Python 標準の
assert文を使って、特定の条件が満たされているかを検証します。
コードサンプル
学んだ内容を簡単な例で確認しましょう。2つの数値を加算する add という関数があるとします。Pytest を使ったテストの書き方は次の通りです:
# content of test_example.py
def add(a, b):
return a + b
def test_add():
assert add(2, 3) == 5
assert add('space', 'ship') == 'spaceship'
このコードサンプルでは、数値と文字列の2つのテストを示しています。assert 文で関数が期待通りに動作するかを確認しています。
テストの実行方法と結果の解釈
Pytest でテストを実行するのは非常に簡単です。テストファイルがあるディレクトリに移動し、次のコマンドを実行します:
pytest
Pytest はディレクトリ内のすべてのテストを自動的に検出して実行し、各テストが成功したか失敗したかを示すレポートを表示します。出力例は以下の通りです:
===================== test session starts ======================
collected 2 items
test_example.py .. [100%]
====================== 2 passed in 0.12s =======================
各 ドット はテストが成功したことを示します。Pytest は失敗したテストについて、行番号や失敗理由など詳細な情報を提供するため、問題の特定と修正が容易です。
===================== test session starts ======================
collected 2 items
test_example.py .F [100%]
====================== FAILURES ==========================
____________________ test_add _________________________
def test_add():
> assert add(2, 3) == 8
E AssertionError: assert 5 == 8
E + where 5 = add(2, 3)
test_example.py:6: AssertionError
===================== 1 passed, 1 failed in 0.23s ======================
結果の解釈
- Passed (.): テストが正常に実行され、すべてのアサーションが
Trueであった場合; - Failed (F): テスト内のアサーションが
Trueでなかった場合、問題があることを示します; - Skipped (s): 条件や依存関係によってテストがスキップされた場合。
すべて明確でしたか?
フィードバックありがとうございます!
セクション 4. 章 2
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください
セクション 4. 章 2