7、执行 suite 后,result.html 测试报告中,测试结果全部显示为通过原因分析

测试用例中,断言 异常后,必须 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://www.cnblogs.com/little-little-bai/p/10368387.html