持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第21天,点击查看活动详情
pytest:它是一个测试用例的管理框架,在UnitTest基础上做的升级 集成度更高,更自由的测试框架 下载:pip install pytest
pytest默认寻找当前路径下所有文件与子文件夹中以test开头或结尾的文件夹、文件、函数作为识别对象 pytest默认不输出任何打印信息,要查看信息,需要在运行时添加-s的指令 多条指令运行,需要用空格区分,在main函数中通过逗号分解 -v 显示详细日志信息 -rA 对测试结果简单统计 指定运行test_one.py中的test_01函数 pytest.main(['-svrA','test_one.py::test_01'])
fixture: conftest.py是预置函数(用于前期准备)定义的配置文件 @pytest.fixture(scope="") scop参数定义的4中等级(默认等级为function): session:在本次test session中只执行一次 module:在模块级别中只执行一次 class:在类级别中只执行一次 function:在函数级别中执行,每有一个函数就执行一次
pytest中setup和teardown一般放在配置文件conftest.py中进行管理 class对象的定义:建议以test开头 在class中前置后置函数的运行顺序: setup_class() setup_method() setup() teardown() teardown_method() teardown_class()
断言: assert 判断 ,测试结果
pytest用例管理手段:mark 可以通过mark装饰器对所有用例进行标记,用不同的标记进行管理 @pytest.mark.标记 调用时用-m 标记,多个标记之间用逗号连接
pytest框架的核心配置文件:配置在工程根目录下,可以全局生效 pytest.ini内容如下: [pytest] market = 标记:automation for 标记 python_files = 文件 testpaths= 路径 python_classes = 类 python_function = 函数 log_cli = True ->运行结果中显示详细内容 addopts = -s -v -rA... ->设置运行默认添加指令 可以用*指定多个文件 perform
pytest生成测试报告: pip install pytest-html 安装pytest-html测试报告模块 pytest 文件 --html=路径/report.html 如果要集成到邮件,就需要添加指令--self-contained-html