Giả sử đây là mãMocking - Làm cách nào để tăng ngoại lệ cho người gọi?
def move(*args, **kwargs):
try:
shutil.move(source, destination)
except Exception as e:
raise e
và trong tests.py tôi
@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)
Nó nói này
File "unittests.py", line 84, in test_move_catch_exception
self.src_f, self.src_f, **self.kwargs)
AssertionError: Exception not raised
Nếu tôi khẳng định trên mock_rmtree
nó sẽ vượt qua. Làm thế nào tôi có thể khẳng định trên người gọi (trong trường hợp này, chức năng move
)?
Như aquavitae chỉ ra, những lý do chính là cắt-dán lỗi, và cũng có thể tôi đã khẳng định một tuple trong đầu. Luôn luôn xác định đúng loại trả lại ...
Cảm ơn bạn rất nhiều. Tôi xin lỗi vì những nhầm lẫn. Đó là lỗi sao chép-dán mà tôi không bắt được. Có, tôi đang di chuyển vá thay vì rmtree. Tôi đã chỉnh sửa bài đăng cho phù hợp. Bạn nói đúng về sự bất cẩn của tôi ở đây. Cảm ơn rất nhiều. – CppLearner