Предположим, что это код
def move(*args, **kwargs):
try:
shutil.move(source, destination)
except Exception as e:
raise e
и в моих tests.py
@patch.object(shutil, 'move')
def test_move_catch_exception(self, mock_rmtree):
''' Tests moving a target hits exception. '''
mock_rmtree.side_effect = Exception('abc')
self.assertRaises(Exception, move,
self.src_f, self.src_f, **self.kwargs)
Он сказал это
File "unittests.py", line 84, in test_move_catch_exception
self.src_f, self.src_f, **self.kwargs)
AssertionError: Exception not raised
Если я утвержу на mock_rmtree
, он пройдет. Как я могу утверждать на вызывающем абоненте (в этом случае функция move
)?
Как отметил aquavitae, основными причинами были ошибка копирования-вставки, а также я утверждал кортеж в начале. Всегда запрашивать правильный тип возврата...