测试用例中,断言 异常后,必须 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 @ddt 10 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中的数据作为 item 19 @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 #断言:如果 预期结果 = 实际结果,则 测试结果为 Pass 28 29 #此处返回值为 text 格式,而并非 json() 格式 -- json 返回数据为 单引号,text 返回的为双引号 30 actual_result = res.text 31 test_result = '' 32 33 try: 34 self.assertEqual(item['expect_result'],actual_result) 35 36 test_result = 'Pass' 37 38 #否则,测试结果为 Fail 39 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)
![](https://i-blog.csdnimg.cn/blog_migrate/d6442accf7e4c878823adeaed8568600.png)