测试用例中,断言 异常后,必须 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)
7、执行 suite 后,result.html 测试报告中,测试结果全部显示为通过原因分析
原文地址:https://www.cnblogs.com/little-little-bai/p/10368387.html