matobaの備忘録

育児しながら働くあるエンジニアの記録

pytestで特定の環境だけで実行するテストを作る

pytestで特定の変数がTrueの時だけ、実行するテストを作りたい時がある。

そんな時はこうする。

import pytest

is_local = True  # この変数がTrueの時だけテストを実行する

@pytest.mark.skipif(not is_local, reason="ローカルのみ")
def test_example():
    # このテストは is_local が True の時にのみ実行される
    assert True

環境変数と合わせて使うと、ローカルだけ実行するテストが作れたりします。 例えば、実行にコストがかかる機能のテストとかはこういうのとをやってみたり。