この記事では、Pythonでテストフレームワークとしてよく使用される`pytest`について、特にマーカーとアノテーションの使用法を深掘りします。実用的なコード例とその解説、応用例を含めて解説を行います。
目次
pytestとは
`pytest`は、Pythonで最も人気のあるテストフレームワークの一つです。柔軟性が高く、シンプルなテストから複雑なテストまで対応しています。
インストール方法
PyPIからインストールすることができます。
# pytestをインストール
pip install pytest
マーカーとは
`pytest`のマーカーはテスト関数にメタデータを付与する仕組みです。マーカーを利用することで、テストケースをカテゴライズしたり、特定のテストだけを実行したりすることが可能です。
基本的なマーカーの使い方
`syntax`という名前のマーカーを作成する基本的な使い方は以下です。
import pytest
# syntaxというマーカーを付与
@pytest.mark.syntax
def test_syntax():
assert True
マーカーの実行
次のように`pytest`コマンドでマーカーを指定して実行することができます。
# syntaxマーカーがついたテストだけを実行
pytest -m syntax
アノテーションとは
Pythonにおけるアノテーションは、関数の引数や戻り値についての情報を提供する仕組みです。`pytest`では、アノテーションを使用してより詳細なテストを行うことが可能です。
アノテーションの基本的な使い方
例えば、関数の引数が整数で、戻り値が文字列であるとアノテーションで示すことができます。
def greeting(name: str) -> str:
return "Hello, " + name
応用例1:マーカーとアノテーションの組み合わせ
マーカーとアノテーションを組み合わせることで、テストの挙動をより詳細に制御することが可能です。
import pytest
# syntaxというマーカーとアノテーションを組み合わせた例
@pytest.mark.syntax
def test_syntax_annotation(num: int) -> None:
assert num == int(num)
応用例2:複数マーカーの使用
複数のマーカーを一つのテスト関数に適用することも可能です。
import pytest
# syntaxとerrorという2つのマーカーを適用
@pytest.mark.syntax
@pytest.mark.error
def test_multiple_markers():
assert True
まとめ
この記事では、`pytest`でのマーカーとアノテーションの使い方を詳しく解説しました。これらの機能を使うことで、より柔軟かつ詳細なテストが可能になります。是非とも日々のテスト作成に活用してみてください。
コメント