zoukankan      html  css  js  c++  java
  • 两种数据驱动方式

    第一种:

    import unittest
    from common import login
    from read_xl import read_excel
    from unittestreport import ddt, list_data
    
    data = read_excel('cases.xlsx', 'Sheet1')
    
    """
    参数化的具体用法:
    1.unittestreport,ddt,list_data
    2.在测试函数当中,加入参数row,row参数是可以自己定义的
    """
    @ddt
    class TestLogin(unittest.TestCase):
    
        @list_data(data)
        def test_login(self, row):
            # row 标识每次从data这个list中取出其中一个数据,{}
            # 代表代码一组测试数据相当于for row in data:
            # 源码:会自动生成一个新的test_login_01 函数
            params_str = row['data']
            params = eval(params_str)  # 脱掉外层衣服,将字符串转为字典
            username = params['username']
            password = params['password']
            expected = eval(row['expected'])
            actual = login(username, password)
            self.assertEqual(expexted, actual)

    第二种:

    import unittest
    from common import login
    from read_xl import read_excel
    from ddt import ddt, data
    
    xl = read_excel('cases.xlsx', 'Sheet1')
    
    @ddt
    class TestLogin(unittest.TestCase):
    
        @data(*xl)
        def test_login(self, row):
            params_str = row['data']
            params = eval(params_str)  # 脱掉外层衣服,将字符串转为字典
            username = params['username']
            password = params['password']
            expected = eval(row['expected'])
            actual = login(username, password)
            self.assertEqual(expected, actual)
  • 相关阅读:
    CSP-S 2019游记
    南校五天集训游记
    web.xml模板
    JDBC Template的基本使用
    Spring AOP(3)使用AspectJ xml配置
    Spring AOP(2)使用AspectJ注解
    Spring Aop(面向切面编程)
    Spring Bean管理3(xml与注解混合使用)
    Python核心技术与实战——十二|Python的比较与拷贝
    test
  • 原文地址:https://www.cnblogs.com/wsfsd/p/15369927.html
Copyright © 2011-2022 走看看