我有一个这样的方法结束:
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_send_emails
参数为false且必须断言未调用sendEmails()
的情况下,应如何对这种情况进行单元测试。我以为我应该模拟
self.sendEmails()
看看它是否被调用过。def test_x(self):
with mock.patch('apps.dbank.x.sendEmails') as sendEmails_mock:
但是现在我被卡住了,如何检查。这个site解释了我可以使用的不同断言,但是似乎都不合适。我应该使用
assert_called_with
吗? 最佳答案
要测试未调用您的模拟,只需测试called
attribute是False
:
self.assertFalse(sendEmails_mock.called)
关于python - 如何模拟方法并查看它是否被调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26585912/