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