java fixture_10、fixture参数化
fixture的参数可以解决大量重复代码工作,比如数据库的连接、查询、关闭等.同样可以使用参数化来测试多条数据用例
例一、
import pytest
@pytest.fixture(params=[("redis", "6379"), ("elasticsearch", "9200")])
def params(request):
return request.param
@pytest.fixture()
def db(params):
print(f"\nuse to connection: {params}")
yield
print(f"\nclose to connection:{params}")
@pytest.mark.usefixtures("db")
def test_demo():
assert 1 == 1
运行结果:
╰ pytest -v -s test_data.py
======================================================= test session starts ========================================================
platform darwin -- Python 3.7.4, pytest-4.4.0, py-1.8.0, pluggy-0.13.0 -- /Users/zhouwanghua/Code/Leyan/python/robocop/bin/python
cachedir: .pytest_cache
metadata: {'Python': '3.7.4', 'Platform': 'Darwin-18.6.0-x86_64-i386-64bit', 'Packages': {'pytest': '4.4.0', 'py': '1.8.0', 'pluggy': '0.13.0'}, 'Plugins': {'bdd': '3.1.0', 'html': '1.20.0', 'metadata': '1.8.0'}}
rootdir: /Users/zhouwanghua/Code/Leyan/robocop, inifile: pytest.ini
plugins: bdd-3.1.0, html-1.20.0, metadata-1.8.0
collected 2 items
test_data.py::test_demo[params0]
use to connection: ('redis', '6379')
PASSED
close to connection:('redis', '6379')
test_data.py::test_demo[params1]
use to connection: ('elasticsearch', '9200')
PASSED
close to connection:('elasticsearch', '9200')
===================================================== 2 passed in 0.03 seconds =====================================================
例二、
import pytest
@pytest.fixture(params=[1, 2])
def data(request):
"""
:param request:
"""
return request.param
def test_data(data):
print(f"data:{data}")
运行结果:
╰ pytest -v -s test_data.py
======================================================= test session starts ========================================================
platform darwin -- Python 3.7.4, pytest-4.4.0, py-1.8.0, pluggy-0.13.0 -- /Users/zhouwanghua/Code/Leyan/python/robocop/bin/python
cachedir: .pytest_cache
metadata: {'Python': '3.7.4', 'Platform': 'Darwin-18.6.0-x86_64-i386-64bit', 'Packages': {'pytest': '4.4.0', 'py': '1.8.0', 'pluggy': '0.13.0'}, 'Plugins': {'bdd': '3.1.0', 'html': '1.20.0', 'metadata': '1.8.0'}}
rootdir: /Users/zhouwanghua/Code/Leyan/robocop, inifile: pytest.ini
plugins: bdd-3.1.0, html-1.20.0, metadata-1.8.0
collected 2 items
test_data.py::test_data[1] data:1
PASSED
test_data.py::test_data[2] data:2
PASSED
===================================================== 2 passed in 0.02 seconds =====================================================
java fixture_10、fixture参数化相关推荐
- Pytest fixture参数化params
unittest使用ddt来实现测试用例参数化.或parameterized实现测试用例参数化,pytest测试用例里面对应的参数可以用 parametrize 实现参数化,今天我们来了解下fixtu ...
- 【pytest】(十)fixture参数化-巧用params和ids优雅的创建测试数据
我们都知道参数化. 比如我要测试一个查询接口/test/get_goods_list,这个接口可以查询到商品的信息. 在请求中,我可以根据请参数goods_status的不同传值,可以查询到对应状态的 ...
- pytest之fixture参数化
背景 本文总结fixture参数化 说明 pytest除了支持基本的测试用例参数化,还支持fixture参数化.当然,fixture参数化的过程与测试用例参数化有点点区别. fixture的参数化涉及 ...
- 小博老师解析Java核心技术 ——JDBC参数化查询(一)
[引言] 我们在学习Java编程时,连接数据库技术(JDBC)是一项必备技能,我们经常需要读取或操作持久性存储的结构化数据.那么现在开始,小博老师就开始为大家讲解JDBC中的常用操作技术,今天我们来了 ...
- java参数化查询_小博老师解析Java核心技术 ——JDBC参数化查询(二)
[步骤阅读四]SQL注入 按照以上方式开发,确实已经完成了基本的用户登录业务需求,但是这么做的话可以会出现一个比较严重的问题,那就是容易被SQL注入.所谓SQL注入,就是在需要用户填写信息,并且这些信 ...
- java泛型,“参数化参数”的基本理解
Java在JDK1.5中引入泛型这一新特性,泛型的本质是参数化类型,也就是说,可以把数据类型指定为一个参数,这个参数类型可以用在类.接口和方法的创建中.泛型在Java语言的Collection中大量地 ...
- pytest实战--参数化parametrize+前置fixture
文章目录 参数化 parametrize 适用场景 一个典型的例子 前置fixture+参数化 适用场景 一个典型的例子 示例2 个人疑问? pytest既可以用来做单元测试,也可以用来做自动化接口测 ...
- java lambda 多个参数_Java Lambda行为参数化
Java Lambda行为参数化 我们可以将lambda表达式作为参数传递给方法. 例子 以下代码创建了一个名为Calculator的函数接口. 在Calculator中有一个称为calculate的 ...
- pytest.5.参数化的Fixture
From: http://www.testclass.net/pytest/parametrize_fixture/ 背景 继续上一节的测试需求,在上一节里,任何1条测试数据导致断言不通过后测试用例就 ...
最新文章
- Linux CentOS 6.5 + Apache + Mariadb + PHP环境搭建
- linux 多线程实现倒计时,Linux用脚本实现“时分秒“倒计时功能
- python现在时间 命令,Python 日期格式和时间以及当前时间和时间戳
- linux堡垒机开源软件,Jumpserver开源堡垒机
- 2013 ACM/ICPC Asia Regional Changsha Online - C
- SQL Server 执行计划利用统计信息对数据行的预估原理二(为什么复合索引列顺序会影响到执行计划对数据行的预估)...
- 在ASP.NET 3.5中使用新的ListView控件(3)
- Java生产环境下性能监控与调优详解 第4章 基于Btrace的监控调试
- request.post
- spss 安装包以及许可证
- css003 选择器:明确设置哪些样式
- Exp9 Web安全实践基础 20154328 常城
- 2021-07-01 <1000+常用Python库>
- 用户“*****”不具有所需的权限。请验证授予了足够的权限并且解决了 Windows 用户帐户控制(UAC)限制问题。
- 你要怎么切你的披萨?
- app小程序手机端Python爬虫实战02-uiautomator2自动化抓取开发环境搭建
- Word中调节图片统一大小
- 羊皮卷的故事-第十二章-羊皮卷之五
- 程序猿如何练习用英语讲好一个笑话?
- 程序员考试下午题知识点总结
热门文章
- USB2.0 协议规范的4 端口USB HUB 控制器芯片
- python小海龟画房子编程_编程入门06:Python海龟绘图
- 《jQuery》实现一个H5的九宫格抽奖
- 极客战记怎么换成java_「网易官方」极客战记(codecombat)攻略-森林-矮人蜂拥而至-munchkin-swarm...
- js基本数据类型和引用数据类型有什么区别?
- Vue2项目引入矢量图报错(显示□)
- 放大招!!!落地成盒?教你开发自己的联网吃鸡游戏 1
- 异地神器之同步看视频
- 微信小程序 漂亮的按钮 多颜色+动画效果,超好看的button 样式
- 2、项目3-如何买玫瑰