2016-09-29 74 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" 
] 

電子郵件出現的捲曲,無法與客戶端。

這兩種方法有什麼不同?

我使用Symfony3,FOSUserBundle和FOSRestBundle。但這並不重要,因爲我發送了相同的請求。

+0

是不同的symfony env:cURL是用測試用例的客戶端調用開發環境的synfony測試環境,所以可能不同的數據庫 – Matteo

+0

不,這是在同一個數據庫(我只有一個數據庫)上執行的。 – 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); 

好像你是一個基本URL是從不同的創建客戶端http://localhost:8888/web/app_dev.php/

我有固定它謝謝。

相關問題