我想測試應用程序是否正在重試。如何使用Python測試Celery應用程序中的重試?
而且我嘲笑測試
@patch('src.video_manager.VideoManager.convert')
@patch('requests.post')
def test_retry_failed_task(self, mock_video_manager, mock_requests):
mock_video_manager.return_value= {'webm':'file.webm', 'mp4':'file.mp4', 'ogv' : 'file.ogv', 'snapshot':'snapshot.png'}
mock_video_manager.side_effect = Exception('some error')
server.convert_video.retry = MagicMock()
server.convert_video('gif_url', 'http://www.company.com/webhook?attachment_id=1234')
server.convert_video.retry.assert_called_with(ANY)
而且我得到這個錯誤
TypeError: exceptions must be old-style classes or derived from BaseException, not MagicMock
這是明顯的,但我不知道該怎麼做,否則它測試該方法是否被調用。