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()

    推荐第二种方式!

  • 相关阅读:
    UVa 1451 Average (斜率优化)
    POJ 1160 Post Office (四边形不等式优化DP)
    HDU 3507 Print Article (斜率DP)
    LightOJ 1427 Substring Frequency (II) (AC自动机)
    UVa 10245 The Closest Pair Problem (分治)
    POJ 1741 Tree (树分治)
    HDU 3487 Play with Chain (Splay)
    POJ 2828 Buy Tickets (线段树)
    HDU 3723 Delta Wave (高精度+calelan数)
    UVa 1625 Color Length (DP)
  • 原文地址:https://www.cnblogs.com/phyger/p/11366620.html
Copyright © 2011-2022 走看看