zoukankan      html  css  js  c++  java
  • python-pytest学习(十六)-多个fixture和fixture直接相互调用

    一、使用多个fixture

      如果用例需要用到多个fixture的返回数据,fixture也可以return一个元组,list或字典,然后从里面取出对应的数据。

    import pytest
    
    @pytest.fixture()
    def user():
        print("获取用户名")
        a = "admin"
        b = "123456"
        return (a,b)
    
    def test_1(user):
        u = user[0]
        p = user[1]
        print("测试账号:%s,密码:%s"%(u,p))
        assert u == "admin"
    
    if __name__=="__main__":
        pytest.main(["-s","test_fixture4.py"])

    运行结果:

     当然也可以分开定义成多个fixture,然后test_用例传多个fixture参数。

    import pytest
    
    @pytest.fixture()
    def user():
        print("获取用户名")
        a = "admin"
        return a
    
    @pytest.fixture()
    def psw():
        print("获取密码")
        b = "123456"
        return b
    
    def test_1(user,psw):
        """传多个fixture"""
        print("测试账号:%s,密码:%s"%(user,psw))
        assert user == "admin"
    
    if __name__=="__main__":
        pytest.main(["-s","test_fixture5.py"])

    运行结果:

    二、fixture与fixture相互调用

    fixture与fixture直接也能相互调用

    import pytest
    
    @pytest.fixture()
    def first():
        print("获取用户名")
        a = "admin"
        return a
    
    @pytest.fixture()
    def second(first):
        """psw调用user fixture"""
        a = first
        b = "123456"
        return (a,b)
    
    def test_1(second):
        """用例fixture"""
        print("测试账号:%s,密码:%s"%(second[0],second[1]))
        
        assert second[0]=="admin"

    运行结果:

    参考文章:https://www.jianshu.com/p/d2fcbc59d1e2

  • 相关阅读:
    Win2008 Server MySql安装包详细安装教程
    ef codefirst VS里修改数据表结构后更新到数据库
    c#扩展方法
    c#异步学习笔记
    winform SerialPort串口通信问题
    委托与事件学习笔记
    泛型的优点
    c#泛型约束 (where T:class)
    .net扩展方法
    mvc5视图view不使用默认母版页
  • 原文地址:https://www.cnblogs.com/zhaocbbb/p/12858614.html
Copyright © 2011-2022 走看看