pytest框架
pytest的命名规则
1、模块名(.py文件)必须是以test_开头或者_test结尾
2、测试类(class)必须以Test开头,并且不能带init方法,类里面的方法必须以test_开头
3、测试用例(函数)必须以test_开头
pytest的前置后置方法
setup、teardown:每条用例都会执行,既可以在类中使用,也可以在类外使用
setup_class、teardown_class:类中的测试用例执行前后只执行一次
setup_method、teardown_method:类中的每条测试用例执行前后都执行一次
setup_function、teardown_function:类外的每条测试用例执行前后都执行一次
setup_module、teardown_module:类外的测试用例执行前后只执行一次

pytest的运行方式
1、主函数运行,pytest.main()
main中可使用的参数
-v:输出调试信息,如pytest.main(['-v','testcase/test_one.py'])
-s:输出更详细的信息,如文件名,用例名,如:pytest.main(['-vs','testcase/test_one'.py])
-x:只要由一个测试用例失败,就停止运行测试,如:pytest.main(['-vsx','testcase/test_one.py'])
-manxfail:出现N个测试用例失败,就停止运行测试,如:pytest.main([-vs],'-x=3','testcase/test_one.py')
-html=report.html:生产测试报告,如:pytest.main(['-vs','-html=/report.html','testcase/test_one.py'])
2、命令行运行
终端输入:pytest ./testcase/test_one.py
运行并且输出测试报告:pytest ./上层目录名/.py文件 --html=/report/report.html
输出调试消息:pytest -v ./上层目录名/.py文件
输出简单消息:pytest -q ./上层目录名/.py文件
输出更详细的信息:pytest -s ./上层目录名/.py文件
只要有一个用例失败,就停止运行测试:pytest -x ./上层目录名/.py文件
出现N个测试用例失败,就停止运行测试:pytest --maxfail=3 ./上层目录名/.py文、
3、pytest.ini配置文件方式运行
在项目根目录创建pytest.ini文件

conftest.py一个专门存放fixture的配置文件,在执行其他功能前都要执行该功能,也就是前置条件
该前置条件就可以写在conftest.py文件中,pytest会默认读取该文件的内容
conftest.py文件的特点
1、pytest会默认读取conftest.py里面所有的fixture
2、conftest文件是固定的,不能移动
3、conftest.py文件只对同一个package下的所有测试用例生效
4、不同的目录可以有自己的conftest.py,一个项目中可以有多个conftest.py文件
5、测试用例文件中不需要手动导入conftest.py文件,pytest会自动查找
浙公网安备 33010602011771号