[英]Mock assert function called before exception is thrown
我正在嘗試使用Mock對一些代碼進行單元測試。 我想提出一個異常,並測試是否捕獲到異常並在重新引發之前調用另一個函數
except exception as e:
car.create_log(car_details)
raise e
單元測試:
car = Car()
car.registrations.update = Mock()
car.registrations.update.side_effect = RegistrationError()
car.create_log = Mock()
car.register_car('123123')
car.create_log.assert_called_once()
self.assertRaises(RegistrationError)
我可以確認該方法引發錯誤,但是無法在重新引發該錯誤之前測試方法create_log
被調用。
這就是您應該使用assertRaises
:
with self.assertRaises(RegistrationError):
car.register_car('123123')
car.create_log.assert_called_once()
或者,您可以將其傳遞為callable和arguments:
self.assertRaises(RegistrationError, car.register_car, '123123')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.