Я пытаюсь издеваться над Laravel Socialite, чтобы протестировать вход в Google oAUTH, используя руководство здесь.
use Laravel\Socialite\Facades\Socialite;
use Laravel\Socialite\Two\GoogleProvider;
use Laravel\Socialite\Two\User as SocialUser;
public function mock_socialite ($email = '[email protected]', $token = 'foo', $id = 1)
{
// create a mock user
$socialiteUser = $this->createMock(SocialUser::class);
$socialiteUser->token = $token;
$socialiteUser->id = $id;
$socialiteUser->email = $email;
// create a mock provider of the user
$provider = $this->createMock(GoogleProvider::class);
$provider->expects($this->any())
->method('user')
->willReturn($socialiteUser);
// create a mock Socialite instance
$stub = $this->createMock(Socialite::class);
$stub->expects($this->any())
->method('driver')
//->with('google')
->willReturn($provider);
// Replace Socialite Instance with our mock
$this->app->instance(Socialite::class, $stub);
}
Однако я получаю следующую ошибку:
Trying to configure method "driver" which cannot be configured
because it does not exist, has not been specified, is final, or is static
Я проверил и обнаружил, что метод driver()
существует в Illuminate\Support\Manager
(откуда Socialite
расширен), и этот метод является общедоступным. Не уверен, почему я получаю эту ошибку.