测试用例中,断言 异常后,必须 raise 抛出异常,
若无raise ,则测试报告中测试结果全部显示为通过。
抛出后,显示实际测试结果,通过/未通过
1 __author__ = ‘Administrator‘ 2 3 import unittest 4 from study_demo.demo_0212.http_request_util import Http_Request_Util 5 from ddt import ddt,data,unpack 6 from study_demo.demo_0212.excel_util import Excel_util 7 8 9 @ddt10 class Test_Case_demo(unittest.TestCase):11 12 #实例化 Excel_util()类13 excel_util = Excel_util(‘test_datas.xlsx‘,‘Sheet1‘)14 15 #引用 Excel_util 模块,调用 read_excel()方法,提供测试数据16 test_datas = excel_util.read_excel()17 18 #引用 ddt,* 表示去一层外套,即将test_datas 由list,变为 dict,取dict中的数据作为 item19 @data(*test_datas)20 21 def test_case_01(self,item):22 23 h_util = Http_Request_Util()24 25 res = h_util.http_request_demo(item[‘mold‘],item[‘url‘],item[‘params‘])26 27 #断言:如果 预期结果 = 实际结果,则 测试结果为 Pass28 29 #此处返回值为 text 格式,而并非 json() 格式 -- json 返回数据为 单引号,text 返回的为双引号30 actual_result = res.text31 test_result = ‘‘32 33 try:34 self.assertEqual(item[‘expect_result‘],actual_result)35 36 test_result = ‘Pass‘37 38 #否则,测试结果为 Fail39 except Exception as e:40 41 test_result = ‘Fail‘42 43 #抛出异常:若无抛出,则result.html测试报告中,测试结果全部显示为通过44 raise Exception (‘这里出错了‘) 45 46 #最后,执行excel 写回操作,将实际结果 和 测试结果 写回到excel中47 finally:48 49 self.excel_util.write_back(item[‘caseId‘]+1,actual_result,test_result)50 51 print(‘正在执行第 {} 条测试用例‘.format(item[‘caseId‘]))52 print(‘测试数据为 {}‘.format(item[‘params‘]))53 print(‘返回数据为 {}‘.format(item[‘actual_result‘]))54 55 # print(‘ex‘, item[‘expect_result‘])56 # print(‘ac‘, actual_result)57 # print(test_result)58 # print(res.json())59 # print(res.text)