zoukankan      html  css  js  c++  java
  • pytest参数化的两种方式

    1、传统方式

     1 import requests,pytest
     2 from Learning.variable import *
     3 
     4 # 定义变量
     5 #url = "https://www.baidu.com"
     6 
     7 class TestClass(object):
     8     global url    #在此获取全局变量,并将其设置为TestClass类的全局变量
     9     def setup_class(self):
    10         print("start...")
    11 
    12     def test_get(self):
    13         #global url    #在此获取全局变量,并将其设置为test_get方法内的全局变量
    14         res = requests.get(url=url)
    15         assert res.status_code == 200
    16 
    17 
    18 if __name__ == '__main__':
    19     pytest.main()

    2、pytest推荐模式,即conftest测试数据共享

    2.1、在function中使用

    # content of test01.py
    
    import  pytest,requests
    
    #将conftest中的com_variable方法传入用例中,不需要导入即可使用
    def test_getBaidu(com_variable):
        a=requests.get(com_variable['url'])
        code = a.status_code
        assert code == 200
    def test_paas():
        pass
    # content of conftest.py
    import pytest
    
    iaas={
        'url':'https://www.baidu.com',
    
    }
    
    @pytest.fixture(scope="module")
    def com_variable():
        return iaas

     2.2、在class中使用

    conftest不变,直接在class中的方法入参中传入即可

    import requests,pytest
    from Learning.variable import *
    
    # 定义变量
    #url = "https://www.baidu.com"
    
    class TestClass(object):
        #global url    #在此获取全局变量,并将其设置为TestClass类的全局变量
        def setup_class(self):
            print("start...")
        #直接在此传入即可
        def test_get(self,com_variable):
            #global url    #在此获取全局变量,并将其设置为test_get方法内的全局变量
            res = requests.get(url=com_variable['url'])
            assert res.status_code == 200
    
    
    if __name__ == '__main__':
        pytest.main()

    推荐第二种方式!

  • 相关阅读:
    HDU 5963 朋友
    BZOJ 4805 欧拉函数求和
    BZOJ 2153 设计铁路
    BZOJ 2631 tree
    BZOJ 4804 欧拉心算
    BZOJ 4806 炮
    BZOJ 3774 最优选择
    BZOJ 4800 Ice Hockey World Championship
    BZOJ 3894 文理分科
    北方大学多校联合训练第十一场E:Modules
  • 原文地址:https://www.cnblogs.com/phyger/p/11366620.html
Copyright © 2011-2022 走看看