如何用标记标记单个参数化测试?

How to mark individual parameterized tests with a marker?

我一直在尝试使用@pytest.mark.parametrize对我的测试进行参数化,我有一个营销人员@pytest.mark.test("1234"),我使用测试标记的值来做post 将结果传给JIRA。注意标记的值每 test_data 发生变化。本质上,代码如下所示。

@pytest.mark.foo
@pytest.mark.parametrize(("n", "expected"),[
    (1, 2),
    (2, 3)])
def test_increment(n, expected):
     assert n + 1 == expected

我想做类似的事情

@pytest.mark.foo
@pytest.mark.parametrize(("n", "expected"), [
    (1, 2,@pytest.mark.test("T1")),
    (2, 3,@pytest.mark.test("T2"))
])

假设标记的值预计会随着每次测试而变化,在使用参数化测试时如何添加标记?

文档中对此进行了解释:https://docs.pytest.org/en/stable/example/markers.html#marking-individual-tests-when-using-parametrize

在这里也显示它,它是:

@pytest.mark.foo
@pytest.mark.parametrize(("n", "expected"), [
    pytest.param(1, 2, marks=pytest.mark.T1),
    pytest.param(2, 3, marks=pytest.mark.T2),
    (4, 5)
])