pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行。一个大项目自动化用例时,可以划分多个模块,
也可以使用标记功能,标明哪些是模块1用例,哪些是模块2的,运行代码时候指定mark名称运行就可以
1.以下用例,标记test_send_http()
为webtest
mport pytest
@pytest.mark.webtest
def test_01():
pass # perform some webtest test for your app
def test_02():
pass
def test_03():
pass
class TestClass:
def test_method(self):
pass
if __name__ == "__main__":
pytest.main(["-s", "test_webtest.py", "-m=webtest"])
webtest
标记的测试,cmd运行的时候,加个-m 参数,指定参数值webtest
pytest -v -m webtest
不想执行标记webtest
的用例,那就用"not webtest
"pytest -v -m "not webtest"
如果想指定运行某个.py模块下,类里面的一个用例,如:TestClass里面test_method用例
每个test_开头(或_test结尾)的用例,函数(或方法)的名称就是用例的节点id,指定节点id运行用-v 参数
pytest -v test_webtest.py::TestClass::test_method
if __name__ == "__main__":
pytest.main(["-v", "test_webtest.py::TestClass::test_method"])
pytest -v test_webtest.py::TestClass
pytest -v test_webtest.py::TestClass test_webtest.py::test_01
pycharm运行参考
if __name__ == "__main__":
pytest.main(["-v", "test_testweb.py::TestClass", "test_testweb.py::test_01"])
可以使用-k命令行选项指定在匹配用例名称的表达式
pytest -v -k 01
也可以运行所有的测试,根据用例名称排除掉某些用例:
$ pytest -k "not test_01" -v
也可以同时选择匹配 多个测试用例
$ pytest -k "test_01 or test_02" -v
本文地址:https://blog.csdn.net/qq_34400745/article/details/107369760
如对本文有疑问, 点击进行留言回复!!
网友评论