一 用例中用法:
# 獲取預期結果 test_data["expected"]
# 斷言
# 如果出現斷言失敗,需要將失敗的用例記錄到logger當中
# 如果斷言失敗,會拋出一個異常,AssertionError
# 如果不手動拋出異常,程序正常走不是走try就是except分支,測試用例都會全部顯示通過;
# 拋出異常就意味着程序運行錯誤,這條用例執行失敗
try:
print(res["msg"]) self.assertEqual(test_data["expected"],res["code"]) # 把實際結果寫入excel數據,通過case_id獲取行號 self.excel_handler.write(config.data_path, "register", test_data["case_id"]+1, 9, "測試通過") except AssertionError as e: # 如果出現錯誤,就會執行except的代碼 # 記錄日志logger self.logger.error("測試用例失敗:{}".format(e)) # 把實際結果寫入excel數據,通過case_id獲取行號 self.excel_handler.write(config.data_path, "register", test_data["case_id"] + 1, 9, "測試失敗") raise e # 程序運行錯誤,拋出異常,就意味着這條用例執行失敗
二 有關於python里raise顯示引發異常的方法:
- 當程序出錯時,python會自動觸發異常,也可以通過raise顯示引發異常
- 一旦執行了raise語句,raise之后的語句不在執行
- 如果加入了try,except,那么except里的語句會被執行
- 代碼如下:
-
try: s = None if s is None: print('s是空對象') raise NameError print(len(s)) except Exception: print('空對象沒有長度')