簡體   English   中英

在拋出異常之前調用的模擬斷言函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM