pytest九:使用自定义标记 mark

时间:2022-03-01 17:43:51
pytest 可以支持自定义标记,自定义标记可以把一个 web 项目划分多个模块,然后指定模块名称执行。app 自动化的时候,如果想android 和 ios 公用一套代码时,
也可以使用标记功能,标明哪些是 ios 用例,哪些是 android 的,运行代码时候指定 mark 名称运行就可以
mark 标记
以下用例,标记 test_send_http()为 webtest

pytest九:使用自定义标记 mark

-v指定的函数节点id

如果想指定运行某个.py 模块下,类里面的一个用例,如:TestClass里面 test 开头(或_test 结尾)的用例,函数(或方法)的名称就是用例的节点 id,指定节点 id 运行用-v 参数

pycharm 运行代码
import pytest
if __name__ == "__main__":
pytest.main(["-v", "test_05_class.py::TestCase::test_one"]) 当然也能选择运行整个 class
也能选择多个节点运行,多个节点中间空格隔开 if __name__ == "__main__":
pytest.main(["-v", "test_server.py::TestClass",
"test_server.py::test_send_http"]) -k 匹配用例名称
可以使用-k 命令行选顷指定在匹配用例名称的表达式
> pytest -v -k http 您也可以运行所有的测试,根据用例名称排除掉某些用例:
> pytest -k "not send_http" -v 也可以同时选择匹配 “http” 呾“quick”
> pytest -k "http or quick" -v