[EC-CUBE3]テストコードでリクエストを書く

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',
    )
);

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

four × 5 =

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください