Ruff pytest-raises-with-multiple-statements (PT012)

pytest-raises-with-multiple-statements в Ruff проверяет код на предупреждение PT012. Правило относится к группе flake8-pytest-style.

Почему это неправильно

Единый стиль pytest-тестов делает проверки короче, понятнее и устойчивее к ошибкам.

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила pytest-raises-with-multiple-statements и пример ниже.

Пример ошибки

import pytest


def test_foo():
    with pytest.raises(MyError):
        setup()
        func_to_test()  # not executed if `setup()` raises `MyError`
        assert foo()  # not executed

Как правильно

import pytest


def test_foo():
    setup()
    with pytest.raises(MyError):
        func_to_test()
    assert foo()

Автоисправление

Ruff не предлагает автоисправление для этого правила.