■ フォワード(forward()) のテスト
object isForwardedTo(string $moduleName, string $actionName [, string $position])
モジュール $ModuleName のアクション $actionName に遷移したかをテストします
例: foo/index が boo/index にフォワードしたかを確認する
$t->get(“foo/index”)->isForwardedTo(“boo”, “index”);
■ リダイレクト(redirect()) のテスト
object isRedirected([boolean $boolean])
リダイレクトの要求があったかどうかをテストする。$boolean に false が指定された場合、失敗を期待する。
object followRedirect()
要求するリダイレクト先に遷移する。リダイレクト要求がないのに行った場合、例外が投げられる。
例: foo/index が boo/index にリダイレクト要求するかを確認する
$browser->get(“foo/index”)->
isRedirected()->followRedirect()->
isRequestParameter(‘module’, ‘boo’)->
isRequestParameter(‘action’, ‘index’);
間違ったリダイレクトテスト方法:
object isResponseHeader($key, $value)
を使って
$browser->isResponseHeader(“Location”, “/module/action”)
とするのは間違いです。Location ヘッダは http://frontend-test/index.php/module/action のような絶対 URL になっている上、action が index の場合 action の指定が省略されるため、完全一致チェックの isResponseHeader() メソッドは不適です。