Ejemplo n.º 1
0
def create_test_case_class(test_module):
    """
    :description: 创建测试用例类
    :param test_module: 测试用例的数据对象
    :return: 单个测试类
    """
    # 载入参数,根据测试用例中的item,分别获取4个列表
    title_list, req_data_list, corr_list, verify_list = PackingTestCase.packing_test_case(test_module.test_case_list)
    # 创建方法字典
    test_member_dict = dict()
    test_member_dict['title_list'] = title_list
    test_member_dict['req_data_list'] = req_data_list
    test_member_dict['corr_list'] = corr_list
    test_member_dict['verify_list'] = verify_list
    # 定义测试类的静态变量,用于流程型用例数据的读取
    test_member_dict['index'] = 0
    # 加入测试方法
    for test_case_title in title_list:
        test_member_dict[test_case_title] = TestFunWrapper.test_wrapper_fun

    # 获取类名
    class_name = test_module.__name__
    # 因为获取的类全名是用"."分割,所以只需要最后的名字即可--name_list[2]
    name_list = class_name.split('.')

    # 创建测试类
    single_test_class = type(name_list[1], (unittest.TestCase,), test_member_dict)
    # single_test_class = type(name_list[2], (unittest.TestCase,), test_member_dict)
    return single_test_class
Ejemplo n.º 2
0
def create_test_case_class_for_file(test_tuple):
    """
    :description: 创建测试用例类(兼容XML/Excel)
    :param test_tuple: 获取单个测试数据文件的名称和数据
    :return: 返回测试类
    """
    # 载入参数,根据测试用例中的item,分别获取4个列表
    title_list, req_data_list, corr_list, verify_list = PackingTestCase.packing_test_case(test_tuple[1])
    # 创建方法字典
    test_member_dict = dict()
    test_member_dict['title_list'] = title_list
    test_member_dict['req_data_list'] = req_data_list
    test_member_dict['corr_list'] = corr_list
    test_member_dict['verify_list'] = verify_list
    # 定义测试类的静态变量,用于流程型用例数据的读取
    test_member_dict['index'] = 0
    # 加入测试方法
    for test_case_title in title_list:
        test_member_dict[test_case_title] = TestFunWrapper.test_wrapper_fun

    # 获取类名
    class_name = test_tuple[0]

    # 创建测试类
    single_test_class = type(class_name, (unittest.TestCase,), test_member_dict)
    # single_test_class = type(name_list[2], (unittest.TestCase,), test_member_dict)
    return single_test_class