pytest学习
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里了
下一篇: js高阶函数用法