Skip to content

pytest-duplicate-parametrize-test-cases (PT014)#

Derived from the flake8-pytest-style linter.

Fix is sometimes available.

What it does#

Checks for duplicate test cases in pytest.mark.parametrize.

Why is this bad?#

Duplicate test cases are redundant and should be removed.

Example#

import pytest


@pytest.mark.parametrize(
    ("param1", "param2"),
    [
        (1, 2),
        (1, 2),
    ],
)
def test_foo(param1, param2):
    ...

Use instead:

import pytest


@pytest.mark.parametrize(
    ("param1", "param2"),
    [
        (1, 2),
    ],
)
def test_foo(param1, param2):
    ...

Fix safety#

This rule's fix is marked as unsafe, as tests that rely on mutable global state may be affected by removing duplicate test cases.

References#