テストケースを書いておきたいが、常にテストしたくないこともある。 特に非常にテスト実行が重いケース。
前提として、pytestのマーカー
pytestは、マーカーという概念がある。 マーカーという概念を使えば、テストケースに印を付けられる。 そして、特定のマーカーのテストだけを実行したり、特定のマーカーのテストを除外できる。
import pytest @pytest.mark.hogehoge def test_sample(): pass
除外するときはこう実行する。
pytest -m "not hogehoge"
hogehoge
の部分は、基本的に任意の文字列を指定できるはず。(すでに何かに使われている場合は誤作動が起きそうだが)
pytestのデフォルトオプションの指定
pytestでは、デフォルトのオプションを設定できる
私は、設定は pyproject.toml
に書いている。その場合は以下のように書く。
[tool.pytest.ini_options] addopts = "-m 'not hogehoge'"
これでデフォルトはスキップできる。
なお、markerの説明を設定に書いておかないと警告が出る。それも書いておくと以下のようになる。
[tool.pytest.ini_options] addopts = "-m 'not hogehoge'" markers = [ "hogehoge: hoge test", ]