zoukankan      html  css  js  c++  java
  • python-数据驱动

    1、parameterized.parameterized

    import unittest
    from parameterized import parameterized,param
    
    class TestAdd(unittest.TestCase):
        ss = [
            {'first': 1, 'second': 3, 'third': 5},
            {'first': 4, 'second': 7, 'third': 8},
            {"first": {'username': '15669910105'}}]
        
        @parameterized.expand([param(s) for s in ss])   #只能取出list的str元素
        def test_add(self,data):
            print(data)
            print(data["first"])
    
    if __name__ == '__main__':
        #Pycharm执行时注意鼠标需要放在 unittest.main(verbosity=2)代码块的位置,否则会报错
        unittest.main(verbosity=2)  # verbosity表示测试结果的信息复杂度

    2、pytest.mark.parametrize

    import pytest
    
    datas = [
        {'first': 1, 'second': 3, 'third': 5},
        {'first': 4, 'second': 7, 'third': 8},
        {"first": {'username': '15669910105'}}
    ]
    
    @pytest.mark.parametrize("data",datas)
    def test_(data):
        print(data)
    
    if __name__ == '__main__':
        pytest.main(['-s', 'demo8.py'])  #以print信息显示

    3、ddt、unpack

    datas可以是列表,也可以是元祖
    @data(datas) 取的是整改列表
    @data(*datas) 取的是列表元素
    @data(*datas)@unpack 取的是列表元素中子元素

    import unittest
    from ddt import ddt,data,unpack
    
    datas =  [
        {'first': 1, 'second': 3, 'third': 5},
        {'first': 4, 'second': 7, 'third': 8}
    ]
    
    @ddt
    class TestCases(unittest.TestCase):
        """
        datas可以是列表,也可以是元祖
        @data(datas)  取的是整改列表
        @data(*datas) 取的是列表元素
        @data(*datas)@unpack  取的是列表元素中子元素
        """
        @data(datas)
        def test_dicts(self,value):
            print(value)
    
        @data(*datas)
        def test_dict(self,value):
            print(value)
    
        @data(*datas)
        @unpack
        def test_dict_element(self, first, second, third):
            print(first,second,third)
    
    if __name__ == '__main__':
        unittest.main(verbosity=2)
  • 相关阅读:
    CODE[VS] 2506 可恶的体育老师
    CODE[VS] 3411 洪水
    CODE[VS] 2692 小明过生日
    CODE[VS] 2291 糖果堆
    CODE[VS] 2008 你已经爱我多久了
    忽然之间
    Amazing grace 奇异恩典
    无处安放
    AC日记
    AC日记
  • 原文地址:https://www.cnblogs.com/shuzf/p/14434636.html
Copyright © 2011-2022 走看看