Pytest (3.3) 自定义mark

自定义mark

mark注册

    pytest --markers

根据节点ID选择测试用例


自定义mark

我们可以用下面的方式自定义mark

@pytest.mark.{自定义的mark名}

Customer marker

用下面指令运行 pytest -v -m webtest

Result

由上图的运行结果:

collected 5 items/ 4 deselected / 1 selected

收集到了5个测试用例,但是只选择了一个测试用例进行运行,这是因为只有一个测试用例应用了webtest mark


mark注册

但是由上面的结果还能看出,有一个警告: PytestUnknownMarkWarning: Unknown pytest.mark.webtest - is this a typo? 

这是因为没有对webtest mark注册,可以用如下方式对webtest mark进行注册

新建pytest.ini文件,并在其中添加如下代码

pytest.ini

然后新建conftest.py文件,用pytest_configure 钩子进行注册:

conftest.py

再次运行pytest -v -m webtest,

由下面截图可以看出,结果中已经没有警告信息了

Result

用pytest --markers指令可以获得,项目中定义的所有mark

pytest --markers

根据节点ID选择测试用例

可以提供一个或者多个节点ID作为参数来选择指定的测试用例。

这样可以基于模块名称,类名称,方法名称进行选择执行测试用例:

如下选择执行test_customermark.py模块下的TestClass类中测试方法test_method_1

pytest

也可以基于类名执行,这个类中的所有测试用例

pytest TestClass

或者一次执行多个node

选择多个node


你可能感兴趣的:(Pytest (3.3) 自定义mark)