霍格沃兹测试开发
add:
P0:
datas:
- [1, 1, 2]
- [-0.01, 0.02, 0.01]
- [10, 0.02, 10.02]
ids:
- 2个整数
- 2个浮点数
- 整数+浮点数
P1_1:
datas:
- [98.99, 99, 197.99]
- [99, 98.99, 197.99]
- [-98.99, -99, -197.99]
- [-99, -98.99, -197.99]
- [99.01, 0, "参数大小超出范围"]
- [-99.01, -1, "参数大小超出范围"]
- [2, 99.01, "参数大小超出范围"]
- [1, -99.01, "参数大小超出范围"]
ids:
- 有效边界值相加【98.99,99】
- 有效边界值相加【99,98.99】
- 有效边界值相加【-98.99,-99】
- 有效边界值相加【-99,-98.99】
- 无效边界值相加【99.01,0】
- 无效边界值相加【-99.01,-1】
- 无效边界值相加【2,99.01】
- 无效边界值相加【1,-99.01】
P1_2:
datas:
- [文, 9.3, "TypeError"]
- [4, 字, "TypeError"]
- [nu, 0.2, "TypeError"]
- [30, t, "TypeError"]
- ["*&", 0.2, "TypeError"]
- [21.45, "@", "TypeError"]
ids:
- 第一个值是汉字
- 第二个值是汉字
- 第一个值是英文字母
- 第二个值是英文字母
- 第一个值是特殊字符*&
- 第二个值是特殊字符@
P2:
datas:
- [None, 20.93, "TypeError"]
- [-3, None, "TypeError"]
- [" ", 3.14, "TypeError"]
- [-90, " ", "TypeError"]
ids:
- 第一个值None
- 第二个值None
- 第一个值空格
- 第二个值空格
# 安装:pip install pyyaml
import yaml
# 读取 yaml 数据文件
def get_data(level):
with open("./datas/datas.yml", encoding="utf-8") as f:
result = yaml.safe_load(f)
add_data = result.get("add")
return add_data.get(level).get("datas"), add_data.get(level).get("ids")
class TestCalc:
add_P0_data, add_P0_ids = get_data("P0")
add_P1_1_data, add_P1_1_ids = get_data("P1_1")
add_P1_2_data, add_P1_2_ids = get_data("P1_2")
add_P2_data, add_P2_ids = get_data("P2")
def pytest_collection_modifyitems(items):
"""
测试用例收集完成时,将收集到的用例名name和用例标识nodeid的中文信息显示在控制台上
"""
for i in items:
i.name=i.name.encode("utf-8").decode("unicode_escape")
i._nodeid=i.nodeid.encode("utf-8").decode("unicode_escape")
pip install pytest-ordering
pip install pytest-xdist
pip install pytest-rerunfailures
pip install allure-pytest