Ruff pytest-parametrize-names-wrong-type (PT006)
pytest-parametrize-names-wrong-type в Ruff проверяет код на предупреждение PT006. Правило относится к группе flake8-pytest-style.
Почему это неправильно
Единый стиль pytest-тестов делает проверки короче, понятнее и устойчивее к ошибкам.
Если валидатор показывает это предупреждение, исправьте место, на которое указывает Ruff, ориентируясь на смысл правила pytest-parametrize-names-wrong-type и пример ниже.
Пример ошибки
import pytest
# single parameter, always expecting string
@pytest.mark.parametrize(("param",), [1, 2, 3])
def test_foo(param): ...
# multiple parameters, expecting tuple
@pytest.mark.parametrize(["param1", "param2"], [(1, 2), (3, 4)])
def test_bar(param1, param2): ...
# multiple parameters, expecting tuple
@pytest.mark.parametrize("param1,param2", [(1, 2), (3, 4)])
def test_baz(param1, param2): ...
Как правильно
import pytest
@pytest.mark.parametrize("param", [1, 2, 3])
def test_foo(param): ...
@pytest.mark.parametrize(("param1", "param2"), [(1, 2), (3, 4)])
def test_bar(param1, param2): ...
Автоисправление
Ruff может предложить автоисправление в некоторых случаях.
