Python 単体テストに pytest を使用する方法
はじめに:
単体テストはソフトウェア開発において不可欠なタスクであり、コードの品質と安定性を確保するのに役立ちます。 Python の pytest は、強力で使いやすい単体テスト フレームワークです。この記事では、Python の単体テストに pytest を使用する方法を紹介します。
1. pytest をインストールする
まず、pytest をインストールする必要があります。インストールは pip コマンドを使用して簡単に完了できます:
pip install pytest
2. テスト ケースの作成
次に、テスト ケースを作成する必要があります。テスト ケースは、テスト対象のコードの機能を検証するコードのブロックです。
例:
加算、減算、乗算、除算の 4 つの演算を含む単純な計算モジュールをテストするとします。プロジェクト内に test_calculator.py
という名前のファイルを作成して、テスト ケースのコードを保存できます。以下はサンプル テスト ケースのコードです。
# test_calculator.py from calculator import add, subtract, multiply, divide def test_add(): assert add(2, 3) == 5 def test_subtract(): assert subtract(5, 3) == 2 def test_multiply(): assert multiply(2, 3) == 6 def test_divide(): assert divide(6, 3) == 2
上記のコードでは、pytest フレームワークによって提供される assert
ステートメントを使用して、テスト結果が期待どおりであるかどうかをアサートします。
3. テスト ケースの実行
テスト ケースの作成が完了したら、pytest を使用してこれらのテスト ケースを実行できます。
コマンド ラインでプロジェクト ディレクトリを入力し、次のコマンドを入力してテストします。
pytest
pytest はプロジェクト内のテスト ケースを自動的に見つけて実行します。
実行結果の例:
============================= test session starts ============================== platform darwin -- Python 3.9.0, pytest-6.2.2, py-1.10.0, pluggy-0.13.1 rootdir: /path/to/project collected 4 items test_calculator.py .... [100%] ============================== 4 passed in 0.02s ===============================
上記の結果は、作成した 4 つのテスト ケースがすべてテストに合格したことを示しています。
4. 高度な使用法
例:
import pytest @pytest.mark.parametrize( "a, b, expected", [ (2, 3, 5), (-1, 1, 0), (0, 0, 0), ], ) def test_add(a, b, expected): assert add(a, b) == expected
上記のコードでは、@pytest.mark.parametrize デコレーターを使用してテスト ケースをパラメーター化します。パラメータの各セットはテスト対象の関数に自動的に渡され、アサーションが行われます。
setup
や teardown
などのデコレーターを提供します。 例:
@pytest.fixture(autouse=True) def setup_and_teardown(): # 在测试用例运行之前的准备工作 print("准备工作") yield # 在测试用例运行之后的清理工作 print("清理工作")
上の例では、setup_and_teardown
デコレータを使用して、前操作と後操作を持つ関数を定義します。 yield
キーワードを使用して、関数が定義されている場所にテスト ケースを挿入します。
結論:
この記事では、Python 単体テストに pytest を使用する方法を紹介します。 pytest をインストールし、テスト ケースを作成し、テスト ケースを実行し、高度な使用方法を使用することで、pytest を使用してコード テストを簡単に実行できます。この記事がソフトウェア開発における単体テスト作業に役立つことを願っています。
以上がPython単体テストにpytestを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。