2014-10-27 72 views
1

我有这样结尾的方法:如何模拟一个方法,看看它是否被调用?

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参数是假的,我必须断言sendEmails()不叫。

我以为我应该模拟self.sendEmails()看它是否被调用。

def test_x(self): 
    with mock.patch('apps.dbank.x.sendEmails') as sendEmails_mock: 

但现在我卡住了,如何检查。这site解释我可以使用不同的断言,但他们都不合适。我应该使用assert_called_with

回答

3

要测试你的模拟是叫,只是测试called attributeFalse

self.assertFalse(sendEmails_mock.called) 
相关问题