欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pytest学习

程序员文章站 2024-02-27 14:15:33
...

1.pytest默认寻找当前路径下的所有的文件与子文件夹以test开头或者test结尾的文件夹、文件、函数作为识别对象

2.pytest默认不输出任何打印信息,如果要看打印信息,加-s

3.多条指令一同运行时,需要通过空格进行区分,在main函数中,通过,进行区分

if __name__ == '__main__':

        pytest.main(['-s','-v'])

4.-v 日志输出,-q: 安静模式, 不输出环境信息

5.-rA 测试结果的简单统计

6.pytest中的setup和teardown:一般可以通过一个配置文件进行管理,文件名为conftest.py

scope参数定义4种等级,默认为function:

session:在本次session级别中只执行一次

module:在模块级别中只执行一次

class:在类级别中只执行一次

function:在函数级别中执行,每有一个函数执行一次

类外边写def setup_function(),类里边写def setup().同理teardown

在class中前置后置函数的运行顺序:setup class,setup method,setup,teardown,teardown method,teardown class

7.mark.可以通过mark装饰圈对所有的用例进行标记,不同的标记区分进行管理

@pytest.mark.标签名。在多个文件里都可以生效

运行时命令里添加 -m 标签名,标签名(支持多个标签)

在项目的根目录里添加pytest.ini文件,里边维护markers所有标签,可以消除用mark标签的警告

8.在pytest.ini中,配置

#定义pytest识别文件名,类名,函数
python_files = ceshi*.py test*.py
python_classes=Ceshi*
python_functions = test* 
#定义pytest运行路径
testpaths=test_demo
#运行测试用例输出结果更加全面
log_cli=True
#添加配置项,命令执行时就不需要加-s -v等
addopts=-s -v

9.pytest生成测试报告 pytest --html=./report/report.html --self-contained-html

--self-contained-html:这样导出来的报告样式集成到html里了