2016-09-29 8 views
0

phpUnitでのクライアントのリクエストは、cURLとは異なる応答を返します。phpUnitでのクライアントのリクエストは、cURLとは異なる応答を返します

これはどのように可能ですか?

//Curl 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, "http://localhost:8888/web/app_dev.php/api/v1/users/16"); 
    $output = curl_exec($ch); 
    dump($output); 

    dump("--------"); 

    //phpUnit Client 
    $client = static::createClient(); 
    $client->request('GET', '/api/v1/users/16'); 
    $content = json_decode($client->getResponse()->getContent(), true); 
    dump($content); 

応答:

{ 
    "id":16, 
    "email":"[email protected]", 
    "first_name":"Olivier", 
    "last_name":"Peano", 
    "sex":"Femme", 
    "promotion":"Bac +1", 
    "telephone":"0606060606", 
} 


"--------" 

array:7 [ 
     "id"   => 16 
     "first_name" => "Lea" 
     "last_name"  => "Peano" 
     "sex"   => "Femme" 
     "promotion"  => "Bac +1" 
     "telephone"  => "0606060606" 
] 

メールがないクライアントで、カールと表示されます。

これらの2つの方法の違いはありますか?

私はSymfony3、FOSUserBundle、およびFOSRestBundleを使用します。しかし、私は同じ要求を送るので問題ではありません。

+0

は異なっていますsymfony env:cURLはtestcaseのクライアントでdev環境を呼び出しています。おそらく異なるデータベース – Matteo

+0

いいえ、これは同じデータベース(私はDBが1つしかありません)で実行されます。 – Olivier

+0

@Olivier 'http:// localhost:8888/web/app_dev.php /'とは異なるベースURLを使ってクライアントを作成しているようですので、おそらく別のサーバーからデータを取得しているはずです。 – BVengerov

答えて

0

@BVengerovが言ったように:

$client = static::createClient(array(), array('HTTP_HOST' => 'symfony.dev')); 
$client->followRedirects(true); 

はあなたがhttp://localhost:8888/web/app_dev.php/

異なるベースURLをクライアントに作成しているように私はそれを固定しているようですありがとうございました。

関連する問題