Python 如何模拟一个方法并查看它是否被调用?
我有一个方法的结尾如下:Python 如何模拟一个方法并查看它是否被调用?,python,unit-testing,python-mock,Python,Unit Testing,Python Mock,我有一个方法的结尾如下: def compute(self, is_send_emails, test_email_address): ... if is_send_emails: self.sendEmails(uniq_email_pids=uniq_email_pids, test_email_address=test_email_address) else:
def compute(self, is_send_emails, test_email_address):
...
if is_send_emails:
self.sendEmails(uniq_email_pids=uniq_email_pids,
test_email_address=test_email_address)
else:
logging.debug("send_emails = False - No emails were sent out.")
我应该如何对这种情况进行单元测试,其中is\u send\u emails
参数为false,并且我必须声明未调用sendmails()
我想我应该模拟一下self.sendmails(),看看它是否被调用过
def test_x(self):
with mock.patch('apps.dbank.x.sendEmails') as sendEmails_mock:
但现在我被卡住了,如何检查。这解释了我可以使用的不同断言,但它们似乎都不合适。我是否应该使用
assert\u called\u with
?来测试您的模拟是否被调用,只需测试isFalse
:
self.assertFalse(sendEmails_mock.called)