CompareTestCase对比方法保存

#coding:utf-8
import unittest
import os

class CompareTestCase(unittest.TestCase):
    '''对比测试结果与预期结果是否一致'''

    def compare_data(self,case_name,actual_list,actural_data,case_dir):
        '''数据校验方法'''
        with open(case_dir+"\\"+case_name,encoding='utf-8') as f:
            content = f.read()
        list = eval(content)
        for i in range(len(list)):
            for key in list[i].keys():
               if list[i][key]!= actual_list[i][key]:
                   print("预期结果:{expect_result},\n\n实际结果:{actual_result},\n验证结果:失败!".format(**{"expect_result":list[i],"actual_result":actual_list[i]}))
                   test_result = list[i][key]!= actual_list[i][key]
                   self.assertFalse(test_result)
               else:
                   pass
        print(actural_data)

    def compare_phenology(self,phenology_data_dirc):
        '''获取物候期用例的路径'''
        data_dirc=os.path.dirname(os.path.realpath(__file__))       #读取用例
        phenology_data_dirc = phenology_data_dirc
        case_dir = data_dirc + "\\test_data\\" + phenology_data_dirc
        return case_dir

    def compare_for_maturity(self,case_name,actual_result,phenology_data_dirc):
        '''熟性单独调用接口,数据校验接口'''
        #从文件中读取json数据
        data_dirc=os.path.dirname(os.path.realpath(__file__))
        phenology_data_dirc = phenology_data_dirc
        case_dir = data_dirc + "\\test_data\\phenology\\" + phenology_data_dirc
        with open(case_dir+"\\"+case_name,encoding='utf-8') as f:
            content = f.read()
        except_list1 = list(eval(content).values())
        actual_list1 = list(actual_result.values())
        for i in range(len(except_list1)):
            result = except_list1[i]!= actual_list1[i]
            if result:
                print("预期结果:{expect_result},\n实际结果:{actual_result},\n验证结果:失败!".format(**{"expect_result":except_list1,"actual_result":actual_list1}))
                self.assertFalse(result)

    def compare_list(self,case_name,actual_list,actural_data,case_dir):
        '''农药库多条件查询数据校验方法'''
        #读取测试用例
        with open(case_dir+"\\"+case_name,encoding='utf-8') as f:
            content = f.read()
        except_info = eval(content)
        #判断测试用例的预期结果是否与实际结果一致
        result = except_info.items() == actual_list.items()
       # 如果一致返回True,并打印实际结果
        if result == True:
            print(actural_data)
            self.assertTrue(result)
        #如果不一致,返回False,并打印结果
        else:
            print("预期结果:{expect_result},\n实际结果:{actual_result},\n验证结果:失败!".format(**{"expect_result":except_info,"actual_result":actural_data}))
            self.assertTrue(result)

 

posted @ 2021-01-07 10:02  Camillezxl  阅读(124)  评论(0)    收藏  举报