news 2026/6/3 1:26:44

Pytest——》数据参数化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Pytest——》数据参数化

1、示例一

#pytest的数据参数化 import pytest import requests #示例一: class TestLogin(object): case_data = [{"title": "用正确的账号、密码登录", "data": {"username": "zhangsan", "password": "123456"}, "except": "login-pass"}, {"title": "用错误的账号、密码登录", "data": {"username": "lisi", "password": "1234567"}, "except": "login-fail"}] @pytest.mark.parametrize("case", case_data) def test_login(self, case): request_r = requests.Request(method="POST", url="http://localhost:8080/login", data=case.get("data")) assert request_r.json().get("msg") == case.get("except")

2、示例二

#示例二: class TestAdd(): @pytest.mark.parametrize("a,b,c",[(1,2,3),(4,5,9),(5,6,11)]) def test_add(self,a,b,c): assert a + b == c

运行结果:

============================= test session starts ============================= collecting ... collected 3 items test_login3.py::TestAdd::test_add[1-2-3] PASSED [ 33%] test_login3.py::TestAdd::test_add[4-5-9] PASSED [ 66%] test_login3.py::TestAdd::test_add[5-6-11] PASSED [100%] ============================== 3 passed in 0.09s ==============================

3、示例三

#示例二 class TestAdd1(): @pytest.mark.parametrize("case",[{"a":1,"b":2,"c":3},{"a":4,"b":5,"c":9},{"a":5,"b":6,"c":11}]) def test_add1(self,case): assert case.get("a")+case.get("b") == case.get("c")

运行结果:

============================= test session starts ============================= collecting ... collected 3 items test_login3.py::TestAdd1::test_add1[case0] PASSED [ 33%] test_login3.py::TestAdd1::test_add1[case1] PASSED [ 66%] test_login3.py::TestAdd1::test_add1[case2] PASSED [100%]
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/30 23:03:38

navigatetominiprogram开发效率提升秘籍

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 构建一个navigatetominiprogram应用,重点展示快速开发流程和效率优势。点击项目生成按钮,等待项目生成完整后预览效果 在开发微信小程序时,经常会…

作者头像 李华
网站建设 2026/5/23 10:43:29

传统手写vs工具生成equals/hashCode效率对比

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 生成一个效率对比报告:1. 手动编写包含10个属性的类的equals和hashCode方法;2. 使用IDE自动生成相同功能;3. 统计两种方式所需时间和潜在错误点&…

作者头像 李华
网站建设 2026/5/19 23:45:36

5分钟快速验证MyBatis异常解决方案

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 构建一个极简MyBatis原型项目,专门用于快速验证BuilderException解决方案:1. 预设典型错误模板;2. 支持用户输入自定义SQL和映射配置&#xff1b…

作者头像 李华
网站建设 2026/5/27 22:55:07

LangFlow可视化工具在大模型应用中的实践案例

LangFlow可视化工具在大模型应用中的实践案例 在构建一个能自动回答企业内部知识问题的AI助手时,你是否曾为反复调试提示词、调整组件顺序而频繁修改代码?是否因为团队中非技术人员难以理解流程逻辑而沟通成本陡增?这正是许多开发者在使用Lan…

作者头像 李华
网站建设 2026/5/29 20:18:08

智能体支付需要信任:在 Walrus 上将 AI 智能体转变为经济主体

AI 智能体的能力正在快速发展,每天都会有新闻展示它们能做到什么。它们早已不再只是回答简单问题、执行基础任务,而是开始代表普通用户在现实世界中采取行动。但这里仍然缺少一个至关重要的环节:智能体支付。 想象一下,你让一个 …

作者头像 李华
网站建设 2026/5/31 16:23:27

火山引擎AI大模型生态中,Anything-LLM的定位与发展前景

火山引擎AI大模型生态中,Anything-LLM的定位与发展前景 在企业智能化转型加速的今天,一个现实问题日益凸显:我们拥有越来越强大的大语言模型,却依然难以准确回答“上个月项目会议纪要里提到的风险点有哪些?”这类具体而…

作者头像 李华