pytestの便利なオプション4選

Python

無数に存在するpytestのオプションについて、今日は最低限知っておきたい便利なものを4つを紹介します。

実際に自分も色々試してみたのですが、結局よく使ってるのはこの4つぐらいなので、恐らくこれだけ知っておけば大体何とかなることでしょう…。

オプションの使い方について

以下で紹介するオプションを利用する場合は、$pytestを実行する際に、オプション引数を付与します。例えば、1つ目の例だと$pytest -vまたは$pytest --verboseというように実行します。

-v/--verbose

テスト結果について、デフォルトよりも詳しい情報を出力。

-s/--capture=method

テスト実行中にprint文の出力を標準出力に書き出す。

--lf/--last-failed

前回のテストで失敗したテストのみ再び実行。何度もテスト行う際に便利です。

-m MARKEXPR

ソースコード中でマーカーをつけた任意のテスト関数を実行。

例:

import pytest
...
@pytest.mark.hoge
def test_piyo():
...
@pytest.mark.huga
def test_foo():
...

実行方法:

$ pytest -m hoge

ちなみに、複数のマーカーの組み合わせも可能です。

$ pytest -m hoge -m huga

オプションの詳しい内容や、他のオプションについては公式ドキュメント*1をご参照ください。

私のように英語ドキュメントはしんどいという方はテスト駆動Pythonもお勧めです。(ここで紹介した他にも色々なオプションが紹介されています。pytestのチュートリアルのようになっていて、とても分かりやすいです。)

pytestを使ってPythonでテスト駆動開発するための全知識。本書の目的 ・Pythonを使っているのでpytestを使ったテスト駆動開発する ・シンプルなテストをシンプルに書く ・複雑なテストもシンプルに書く ・読みやすいテストを書く

コメント