2016-11-12 109 views
0

目前我正在測試Facade呼叫。我發送鬆散的通知來通知我一些事情,但是我不希望每次運行測試時都會發生這種情況。測試Facade多功能

我使用的是以下方法:https://github.com/maknz/slack。 這使我能夠做到以下幾點:

Slack::to('aChannel')->attach('someData')->send('moreData'); 

我試圖做測試這個如下:

Slack::shouldReceive('to')->once(); 

現在,我覺得這是工作,但是代碼現在給了一個錯誤因爲我不能這樣做 - >附加(.. 錯誤:調用成員函數附加()null

我認爲這是發生,因爲我嘲笑的對象,它是空的我不能調用功能

有沒有人有這種情況的經驗,知道我如何能夠測試這個沒有打破代碼?

回答

1

發生這種情況是因爲您使用的是鏈式方法。您可以更新您的測試,像這樣:

Slack::shouldReceive('to->attach->send')->once(); 

你可以閱讀更多有關這對Mocking Demeter Chains And Fluent Interfaces here

希望這可以解決您的問題。

+0

謝謝你,試圖通過該功能作爲一個數組。沒想到這個。也感謝您的鏈接。測試現在完成! – Don