0
期間塊我有這個在我的代碼:異常不陷入嘗試 - 除了單元測試
import api
def do_something():
try:
api = api.Api()
api.call()
except ParseException as e:
logger.exception('Error occurred')
raise ValidationError(detail=e.message)
基本上它調用API,並重新提出了與其他類型的異常。 我的測試檢查時,拋出異常的情況:
@patch('code.api')
def test_exception(self, api_mock):
api_mock.Api.side_effect = ParseException('General Error')
self.assertRaises(
ValidationError,
do_something
)
api_mock.Api.assert_called_once()
但是因爲ParseException
被拋出,而不是ValidationError
我的測試失敗。到底是怎麼回事?