2016-09-29 69 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/

我有固定它谢谢。

相关问题