2014-10-27 71 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) 
相關問題