Mocking - Jak mogę podnieść wyjątek na rozmówcę?
Załóżmy, że to jest kod
<code>def move(*args, **kwargs): try: shutil.move(source, destination) except Exception as e: raise e </code>
iw moim pliku tests.py
<code>@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) </code>
To powiedziało
<code> File "unittests.py", line 84, in test_move_catch_exception self.src_f, self.src_f, **self.kwargs) AssertionError: Exception not raised </code>
Jeśli twierdzęmock_rmtree
To przejdzie. Jak mogę potwierdzić na dzwoniącym (w tym przypadku funkcjęmove
)?
Tak jakAqua vitae wskazałem, że głównymi powodami był błąd kopiowania i wklejania, a także potwierdzałem krotkę na początku. Zawsze asseert z odpowiednim typem powrotu ...