pytest.mark
使用装饰器pytest.mark可以给测试用例设置metadata数据,比如分类测试用例,跳过测试用例以及参数化测试用例
可以自定义mark也可以使用内置的mark
内置的mark有:usefixtures,filterwarnings,skip,skipif,xfail,parametrize
自定义mark
如果想要使用自定义的mark,首先需要register mark
注册自定义的 mark
在pytest.ini文件中注册自定义的mark
如下,注册了两个mark:mock和regression,就可以在测试用例中使用这两个mark来标记测试用例了
[pytest]
markers =
mock
regression
使用mark来标记测试用例
在如下的测试用例中,分别使用了@pytest.mark.mock和@pytest.mark.regression来标记测试用例
def inc(x):
LOG.info("start to test.....")
return x+1
def test_inc():
LOG.info("start to test one...")
assert inc(5)==6
def test_inc2():
assert inc(3)==7
@pytest.mark.mock
def test_mock_01():
assert inc(1)==2
@pytest.mark.mock
def test_mock_02():
assert inc(3)==4
@pytest.mark.regression
def test_regression_01():
assert inc(3)==4
-m:使用mark
使用mark标记了测试用例中,需要-m命令使用
-m:用于标记测试并分组,以便快速选中并运行
运行标记有mock的测试用例,不管在不在同一个文件夹中,都会被选中
pytest -m "mock"
就会运行测试用例test_mock_01和test_mo