跳到内容

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

源自 flake8-pytest-style linter。

有时提供修复。

作用

检查 pytest.mark.parametrize 中重复的测试用例。

为什么这不好?

重复的测试用例是多余的,应该删除。

示例

import pytest


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

建议改为

import pytest


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

修复安全性

此规则的修复被标记为不安全,因为依赖可变全局状态的测试可能会受到删除重复测试用例的影响。

参考