Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将自定义标记应用于pytest参数化标记的特定值_Python_Pytest - Fatal编程技术网

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

我想将自定义标记应用于标记的特定值。在上述测试用例中,应使用

  • 如果提供了
    -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.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