2016-03-23 8 views
2

私のLaravel AppでGoogleログインをテストしようとしています。外部URL(Googleログイン)を使用したLaravelの機能テスト

protected $baseUrl = 'http://laravel.dev'; 

だから、それは紛争を作ることができる:

私は、Googleのログインページにアクセスしようとする

は、私は404

私の考えはTestCase.phpで、私は変数を持っているということです取得します。 ...うーん、私はそれをやる方法、またはそれを修正する方法がわからない!ここで

は私のコードです:

$this->visit('/auth/login') 
    ->click('google'); 
    dump(Request::url()); // https://accounts.google.com/o/oauth2/auth 
    $this->dump(); --> Gives me a 404 page 

すべてのアイデアは大歓迎です!

+0

私は外部認証プロバイダを使用していて、セッショントークンを取得するためにリダイレクトするのと同様の問題があります。私は本当にログイン機能をテストしたいと思っていますが、リダイレクトは私に404を与えています。理由はわかりません。 – PHLAK

+0

私たちは同じボートにいるので; –

答えて

0

答えはNOです。フレームワークはそれをサポートしていません。あなたが「訪問」でテストしたときに少し掘り出したら、リクエストは実際には送信されませんでした。クラスMakesHttpRequestsの呼び出しメソッドでは、laravelのhttpカーネルを初期化し、要求をそれに渡します。実際にはhttpリクエストは発行されませんでした。

$kernel = $this->app->make('Illuminate\Contracts\Http\Kernel'); 

    $this->currentUri = $this->prepareUrlForRequest($uri); 

    $this->resetPageContext(); 

    $request = Request::create(
     $this->currentUri, $method, $parameters, 
     $cookies, $files, array_replace($this->serverVariables, $server), $content 
    ); 

    $response = $kernel->handle($request); 

あなたが試みることができる唯一の方法は、この部分を模擬することです。

+0

モックパートの実装方法を少し説明できますか? –

関連する問題