• 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)
  • 相关阅读:
    Server 对象
    Response 对象
    bzoj 5252: [2018多省省队联测]林克卡特树
    bzoj 2167: 公交车站
    bzoj 5315: [Jsoi2018]防御网络
    bzoj 5319: [Jsoi2018]军训列队
    bzoj 4161: Shlw loves matrixI
    bzoj 4942: [Noi2017]整数
    bzoj 2648: SJY摆棋子
    kd-tree 小结
  • 原文地址:https://www.cnblogs.com/shuzf/p/14434636.html
Copyright © 2020-2023  润新知