我有一个这样的方法结束:

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 attributeFalse

self.assertFalse(sendEmails_mock.called)

关于python - 如何模拟方法并查看它是否被调用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26585912/

10-11 03:28