Ruff pytest-assert-in-except (PT017)

pytest-assert-in-except в Ruff проверяет код на предупреждение PT017. Правило относится к группе flake8-pytest-style.

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

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

Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила pytest-assert-in-except и пример ниже.

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

def test_foo():
    try:
        1 / 0
    except ZeroDivisionError as e:
        assert e.args

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

import pytest


def test_foo():
    with pytest.raises(ZeroDivisionError) as exc_info:
        1 / 0
    assert exc_info.value.args

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

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