标题
python pytest 测试实战(一)
课程价值
- 理解 Pytest 框架结构
- 学会运行及常用的运行参数
- 掌握参数化与数据驱动
- 了解 Pytest 配置
大纲
- Pytest 框架结构
- 运行及运行参数
- 参数化与数据驱动
- Pytest 配置
时长
90分钟
PPT
https://pdf.ceshiren.com/lg3/python-Pytest测试实战1
脚本编写
应用
@pytest.mark.add
@pytest.mark.parametrize('a,b,expect', [
(1, 1, 2),
(100, 200, 300),
(0, 10, 10),
(-1, -2, -3)
], ids=['整数', '大数', '为零', '小数'])
def test_add(self, a, b, expect):
'''
测试相加
'''
print("测试相加")
# calc = Calculator()
result = self.calc.add(a, b)
assert expect == result
创建conftest.py 文件,加入如下代码,修改测试结果的编码格式:
def pytest_collection_modifyitems(
session: "Session", config: "Config", items: List["Item"]
) -> None:
for item in items:
item.name = item.name.encode('utf-8').decode('unicode-escape')
item._nodeid = item.nodeid.encode('utf-8').decode('unicode-escape')
参考代码
https://github.com/ceshiren/HogwartsLG3
作业
- 课后作业
- 1、补全计算器(加法 除法)的测试用例
- 2、使用参数化完成测试用例的自动生成
- 3、在调用测试方法之前打印【开始计算】,在调用测试方法之后打印【计算结束】
- 注意:
- 使用等价类,边界值,因果图等设计测试用例
- 测试用例中添加断言,验证结果
- 灵活使用 setup(), teardown() , setup_class(), teardown_class()