pytestで指定した例外を投げられるかのテストを行うために綺麗な書き方

課題

pytestでユニットテストを行うにあたり、例外を投げるタイプの関数をテストしたい。どのようにすればよいか。

解決

下記のようにpytest.raisesを使うと綺麗に書ける。公式参照

def test_valid():
    with pytest.raises(TypeError, match=r".*max length is 40.*"):
        main.example("1234567890" * 5)