EC-CUBE3ではSilex\WebTestCase
を使用してURLのアクセスを行なっている。そのためテストするURLにはその流儀に従って記述を行う。
公式は下記。(もう開発は終了しているのでどこかのタイミングでこのドキュメントもなくなるかもしれない。。)
URLにアクセスするにはcreateClient()
で初期化してから、目的のURLにアクセスする。
$client = $this->createClient();
$crawler = $client->request('GET', '/hoge')
POSTの場合はrequest()
の第3引数にパラメータを付与する。
$client = $this->createClient();
$crawler = $client->request(
'POST',
'/hoge/hoge?get_param=hoge',
[
'post_param' => 'post_val'
]
);
なおSymfonyのドキュメントも参照するとrequest()
にはその他にも引数をセットすることが出来、$_SERVER
で取得できる項目もこの時点で設定した上でリクエストを送ることができる。
request(
$method,
$uri,
array $parameters = array(),
array $files = array(),
array $server = array(),
$content = null,
$changeHistory = true
)
マニュアルには下記の例がある。
$client->request(
'GET',
'/post/hello-world',
array(),
array(),
array(
'CONTENT_TYPE' => 'application/json',
'HTTP_REFERER' => '/foo/bar',
'HTTP_X-Requested-With' => 'XMLHttpRequest',
)
);