11

こんにちは、テストに phpunit を使用し、単体テストに Symfony\Bundle\FrameworkBundle\Test\WebTestCase を使用しています。これまでのところ問題はありませんでしたが、https の使用を開始したため、テストが機能しなくなりました。テストですべてのリクエストに対して 301 応答コードを取得し始めました。私の質問は、Symfony\Component\HttpKernel\Client に、 http ://localhost.com/uri ではなく https://localhost.com/uri にリクエストを送信するように指示するにはどうすれば よいですか?

編集

symfony の Web サイトhttp://symfony.com/doc/current/book/testing.htmlでは、サーバーのパラメーターを構成する方法を示しており、次のようなコード ピースがあります。

$client->request(
 'GET',
 '/demo/hello/Fabien',
 array(),
 array(),
 array(
     'CONTENT_TYPE'          => 'application/json',
     'HTTP_REFERER'          => '/foo/bar',
     'HTTP_X-Requested-With' => 'XMLHttpRequest',
 )
);

http://php.net/manual/en/reserved.variables.server.phpに記載されているように、HTTPS 要素を指定しようとしましたが、コードが次のように変更されました。

$client->request('GET',
         '/'.$version.'/agencies/'.$agencyId,
         array(), 
         array(),
         array('HTTPS' => 'on')
         );

しかし、それはまだ機能していませんか?

4

2 に答える 2

17

@WouterJ のおかげで、クライアントの作成を次のように変更しました。

static::createClient();

に:

static::createClient(array(),array('HTTPS' => true));

それは私の問題を解決しました。client -> request で HTTP_HOST および HTTPS パラメーターを指定できないことがわかりました。クライアントの作成時に決定する必要があります。

于 2013-11-04T08:11:06.663 に答える