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":"gmail@gmail.com",
"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"
]
電子メールは、クライアントではなく、cUrlで表示されます。
これらの2つの方法の違いはありますか?
私はSymfony3、FOSUserBundle、およびFOSRestBundleを使用します。しかし、私は同じ要求を送るので問題にならない。
回答:
回答№1は0@BVengerovが言ったように:
あなたは別のベースURLでクライアントを作成しているようです http://localhost:8888/web/app_dev.php/
私はそれを修正した:
$client = static::createClient(array(), array("HTTP_HOST" => "symfony.dev"));
$client->followRedirects(true);
ありがとうございました。