Tôi đang sử dụng thư viện Mock để kiểm tra ứng dụng của mình, nhưng tôi muốn khẳng định rằng một số chức năng không được gọi. Tài liệu giả lập nói về các phương pháp như mock.assert_called_with
và mock.assert_called_once_with
, nhưng tôi không tìm thấy bất kỳ thứ gì như mock.assert_not_called
hoặc một thứ liên quan đến xác minh mô hình là KHÔNG được gọi là.Xác nhận một hàm/phương thức không được gọi bằng cách sử dụng Mock
tôi có thể đi với một cái gì đó như sau, mặc dù nó không có vẻ mát mẻ và cũng không pythonic:
def test_something:
# some actions
with patch('something') as my_var:
try:
# args are not important. func should never be called in this test
my_var.assert_called_with(some, args)
except AssertionError:
pass # this error being raised means it's ok
# other stuff
Bất kỳ ý tưởng làm thế nào để thực hiện điều này?
Cảm ơn bạn đã trợ giúp :)
Như @Ahmet chỉ ra trong câu trả lời của mình, assert_not_called hiện đang được hỗ trợ, cũng trong backport (https://docs.python.org/3/library/unittest.mock.html#unittest.mock .Mock.assert_not_called). – Martin