【pytest】参数化parametrize
- 前言:
- 软件测试中,输入相应值,检查期望值,是常见测试方法。
- 在自动化测试中,一个测试用例对应一个测试点,通常一组测试数据无法完全覆盖测试范围,所以,需要参数化来传递多组数据。
- pytest的测试用例参数化使用如下装饰器即可完成
@pytest.mark.parametrize(argnames, argvalues)
# 参数:
# argnames:以逗号分隔的字符串
# argvaluse: 参数值列表,若有多个参数,一组参数以元组形式存在
-
一个参数多个值
-
多个参数多个值
-
多个参数的混合使用,笛卡尔积
-
实际使用场景
import pytest,requests
test_data = [
("M", {"message": "update some data!", "code": 0}),
("F", {"message": "update some data!", "code": 0}),]
@pytest.mark.parametrize("test_input, expect", test_data)
def test_updata_info_32(login_fix, test_input, expect):
'''修改个人信息'''
url = "http://xxxxxx:9000/api/v1/userinfo"
body = {"name": "test","sex": test_input, "age": 20,"mail": "xxxxxx@qq.com"}
r = requests.post(url, json=body)
print(r.text)
assert r.json()["message"] == expect["message"]
assert r.json()["code"] == expect["code"]
分类:
接口自动化
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用