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'])
标签:传参,__,name,py,Fixture,pytest,测试用例,login From: https://www.cnblogs.com/mzline/p/17443935.html