Pytest - Fixture(9) - Fixture传参给测试用例
Pytest - Fixture传参给测试用例
-
如果想要依赖fixture传递参数给测试用例,可以通过
yield
或者return
来返回参数;-
yield
:实现setup和teardown,并将参数传递给测试用例; -
return
:仅实现setup,并将参数传递给测试用例而已;
-
传单个参数
-
return
传递单个参数:test_py.py
import pytest @pytest.fixture def login(): name = "==我是账号==" # 返回参数 return name # 使用函数传参 def test_s1(login): print("\n**测试用例**") # 获取使用参数 print(login) if __name__ == '__main__': pytest.main(['-q', 'test_py.py'])
-
yield
传递单个参数:test_py.py
import pytest @pytest.fixture def login(): name = "==我是账号==" # 返回参数 yield name print("^^测试结束^^") # 使用函数传参 def test_s1(login): print("\n**测试用例**") # 返回的是一个元组 print(login) if __name__ == '__main__': pytest.main(['-q', 'test_py.py'])
传多个参数
-
如果测试用例想要依赖fixture读取测试数据文件,返回多组不同的数据,返回多个参数;
-
测试用例获取的时候也用多个参数接受数据;
test_py.py
import pytest @pytest.fixture def login(): name = "==我是账号==" pwd = "==我是密码==" age = "==我是年龄==" # 返回变量 yield name, pwd, age # 使用函数传参 def test_s1(login): print("\n==测试用例==") # 返回的是一个元组 print(f"返回的是一个元组:{login}") # 分别赋值给不同变量 name, pwd, age = login # 输出变量内容 print("输出变量内容:" + name, pwd, age) if __name__ == '__main__': pytest.main(['-q', 'test_py.py'])
分类:
Pytest
标签:
Python-自动化测试
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!