【发布时间】:2016-04-20 19:21:12
【问题描述】:
我正在尝试在我的应用程序中使用 facebook、twitter 和 github 测试我的社交身份验证。我使用了 Socialte 和 Laravel 5.1。
这是我测试 socilate 的尝试:
use Laravel\Socialite\Contracts\Factory as Socialite;
class AuthTests extends TestCase
{
public function testFb()
{
Socialite::shouldReceive('driver')->once()->with('facebook')->andReturn('code');
$this->visit('/auth/login/facebook');
}
}
但这从未成功运行,我一直收到此错误:
[Symfony\Component\Debug\Exception\FatalErrorException]Call to undefined method Laravel\Socialite\Contracts\Factory::shouldReceive()
我已经到处寻找可以用来在测试中成功模拟社交名流的方法,但找不到任何方法。
在我的控制器中:
private function getAuthorizationFirst($provider)
{
return $this->socialite->driver($provider)->redirect();
}
这就是我试图模拟的。社交名流应该通过提供者 'facebook' 接收方法 'driver' 并返回一些东西。
我很确定我可能错过了一些事情!
非常感谢您的反馈!
【问题讨论】: