2016-11-12 105 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