#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)