自定义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