湖南平台网站建设找哪家,爱字幕app制作视频软件下载,广州软件开发杰迅科技,餐饮加盟网站怎么做一.使用pytest,默认的测试用例的规则以及基础应用
1.模块名字必须已test_开头或者_test结尾
2.测试类必须以Test开头,并且不能有init方法
3.测试方法必须以test开头
示例代码 test_001.py
import pytest
class TestCase:def test_case(self):print(执行测试用例执行测试用例)
二、pytest测试用例的运行方式
主函数模式 运行所有pytest.main() 运行指定的模块pytest.main([-vs,模块名.py]) 运行指定目录mytest.main([-vs,目录路径]) 通过nodeid指定用例运行nodeid由模块名分隔符类名方法名函数名组成 ·类外的用例通过pytest.main([-vs,模块路径::方法名]) ·类内的用例pytest.main(-vs,模块路径::类名::方法名) 命令行模式 ·运行所有pytest ·运行指定模块pytest -vs 目录路径 ·通过nodeid指定用例运行nodeid由模块名分隔符类名方法名函数组成 ·类外的用例pytest -vs 模块名::方法名 ·类内的用例pytest -vs 模块路径::类名::方法名 pytest.ini配置文件模式 pytest.ini是pytest单元测试框架的核心配置文件 位置必须放在项目的根目录 编码格式必须使用ANSI格式可用notepad等工具修改、 作用改变pytest默认的行为 运行的规则主函数模式和命令行模式都会读取这个配置文件
配置文件实例
[pytest]
#命令行参数用空格分割
addopts -vs
#测试用例文件可以自己配置...../testcase为上已成的testcase文件夹
testpaths ../testcase
#配置测试搜索的模块文件名称
pytest_files test*.py
#配置测试搜索的测试类名
pytest_classes Test*
#配置测试搜索的测试函数名
pytest_funtions test以上为示例代码用的时候需要把中文去掉使用ANSI编码格式保存
参数详解
·-s:输出调试信息包括print打印的信息
·-v:显示更多详细的信息
·-n:支持多线程或者分布式运行测试用例 ·主函数模式pytest.main(-vs,模块名.py,-n2)---调用两个线程执行 命令行模式pytest -vs 模块名.py -n 2 如果有5条用例用两个线程 线程一1,3,5 线程二2,4条 ·--reruns:失败用例重跑 主函数模式pytest.main([-vs,模块名.py,-n2,--reruns2]) 命令行模式pytest -vs 模块名.py -n 2 --reruns2 失败后重跑两次 ·-x:遇到报错测试用例则立即停止测试 ·--mafail:遇到指定个数用例失败就停止测试 主函数模式pytest.main([-vs,模块名.py,--maxfail2]) 命令行模式pytest -vs 模块名.py --mafail2 · -k:根据测试用例名称内的部分字符串指定执行测试用例 主函数模式pytest.main([-vs,模块名.py,-kxx]) 命令行模式pytest -vs 模块名.py -k xx ·--html:生成原生html测试的报告 主函数模式pytest.main([-vs,模块名.py,--html报告路径]) 命令模式pytest -vs 模块名.py --html 报告路径 ·-vs:综合 -s,-v功能
三、pytest的测试执行循序 ·unittest的执行顺序默认按照ASCII表的顺序执行测试用例 ·pytest的执行顺序默认按照从上到下的顺序执行测试用例 改变pytest的默认执行循序使用mark中装饰器 pytest.mark,run(order3)
四、如何分组执行冒烟分模块执行分接口或者ui执行 smoke:莫言用例分布在各个模块里面 步骤一在pytest.ini配置文件内添加配置信息markers [pytest]
addopts -vs
testpaths ../testcase
python_files test*.py
python_classes Test*
python_functions test
markers
smoke:冒烟
g1:组一
g2:组二 步骤二给测试函数添加装饰器pytest.mark.smoke 步骤三执行测试用例 主函数模式pytest.main([-vs,模块名.py,-msmoke]) 命令行模式pytest -vs -m smoke 注意此处的smoke不是固定的可以自己定义标记名称 如果想执行多个标记的用例pytest -vs -m 标记1 or 标记2
五、pytest跳过测试用例 无条件跳过 添加装饰器pytest.mark,skip(reason 跳过原因) 有条件跳过 添加装饰器pytest.mark.skipif(表达式reason 跳过原因) 注意此处的表达式得到的应该是一个布尔类型表达式成立则跳过否则执行测试用例
六、断言
在pytest框架中使用assert进行断言 示例代码 class TestCase:
# 测试用例
def test_case(self):
print(执行测试用例)
# 断言:语法assert 表达式
assert 1 2
注意assert后面的表达式需要返回布尔值类型True为测试用例通过False为用例失败