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会自动查找

 

posted on 2023-07-25 09:38  搬家小蜜蜂  阅读(95)  评论(0)    收藏  举报

导航