持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天,点击查看活动详情
测试用例运行不需要像python中的函数一样,需要调用,使用pytest进行搜索发现用例和加载用例执行,使用Pytest调用用例有两种方式
1、通过命令运行
使用pytest加指定的路径/测试模块或者测试模块加测试用例就可以
运行testcase目录下所有的用例,以test开头的py文件,所有test开头的函数或者方法
pytest casetest/
运行指定目录下的测试模块,多个文件或者路径以空格隔开
pytest casetest/test_add.py
运行单个测试函数
pytest casetest/test_add.py::test_add
运行测试类
pytest casetest/test_add.py::TestAdd
运行测试方法
pytest casetest/test_add.py::TestAdd::test_add
2、代码里调用
if __name__=='__main__':
pytest.main(['test_add.py','-v'])
3、常用的执行参数
通过pytest命令,实现了非常灵活的执行控制,常用参数如下
-v:详细显示模式,如果不加-v,执行通过的用例只显示一个点
-q:安静模式,不显示环境信息
-rxX:显示跳过,期望失败和非期望成功的用例
-s:显示用例中的一些打印print的内容
-k:-k 表达式,表示运行名称包含执行表达式的用例,其中表达式支持and or not等,eg: pytest -k “test_1 and test_2”
-m: -m 标签,标签支持 and or not,表示运行执行标签的用例, eg:pytest -m “apitest and maoyantest”
-x/--exitfrist:表示遇到失败后停止,首次失败后退出,可以确定那条用例失败 eg:pytest casetest/test_add.py -x 表示执行用例时,有失败用例后直接停止,不继续执行
-maxfails=n:表示失败n次数后退出,eg:-maxfails=3,表示3次失败后退出
--lf/--last-failed:表示执行上次失败的用例
--ff/--failed-frist:表示先执行上次失败的用例,再执行成功的用例
--collect-only:表示先只收集用例,不执行
--durations=N:表示显示执行最慢的N条用例,--durations=4,显示执行最慢的4条用例
--fixtures:表示显示所有可用的Fixture函数