Python 将自定义标记应用于pytest参数化标记的特定值
我想将自定义标记应用于标记的特定值。在上述测试用例中,应使用Python 将自定义标记应用于pytest参数化标记的特定值,python,pytest,Python,Pytest,我想将自定义标记应用于标记的特定值。在上述测试用例中,应使用 如果提供了-m one,则a=0 如果提供了-m两个,则a=1 我尝试了下面的代码片段,但不起作用 import pytest @pytest.mark.parametrize('a', [0, 1]) def test_increment(a): pass 我能够使用pytest.param为参数化测试提供自定义标记 文件链接: 例如: 片段 import pytest @pytest.mark.par
- 如果提供了
,则a=0李>-m one
- 如果提供了
-m两个
,则a=1
import pytest
@pytest.mark.parametrize('a', [0, 1])
def test_increment(a):
pass
我能够使用
pytest.param
为参数化测试提供自定义标记
文件链接:
例如:
片段
import pytest
@pytest.mark.parametrize('a', [pytest.mark.one(0), pytest.mark.two(1)])
def test_increment(a):
pass
你能提供更多的背景吗?不清楚你为什么想要这个,或者参数化测试是否有意义。当然,给我2分钟。我将添加更多上下文实际上,我将所有测试用例分为两类。但是,这一个测试用例是参数化的,其参数值属于这两个类别。对于该测试用例,我想标记特定的值,以便只执行那些参数值。对于每个类别有一个测试,并且只复制属于这两个类别的值,可能会比较容易混淆。让我给出一个确切的示例。我有两种测试。A&B.A有依赖关系x。B有依赖性y。我已经创建了一个测试
test\u splunk\u dependecy()
。如果提供了-ma
,则测试应仅检查x相关性。如果提供了-mb
,它应该检查y依赖关系。创建两个做完全相同事情的测试对我来说没有多大意义。唯一的变量是依赖项名称。这就是全部
@pytest.mark.parametrize('a', [pytest.param(0, marks=pytest.mark.one), pytest.param(1, marks=pytest.mark.two)])
def test_increment(a):
pass