我想通过表单提交和重定向中的正确响应来测试登录演示者操作。例如,我想测试在正确登录后,用户被重定向到某处并显示带有文本“登录成功”的闪烁消息。
在所有示例中,测试正确表单行为的唯一方法是测试我是否获得了 RedirectResponse(见下文)。是不是太少了?如何进行我描述的测试?甚至可能吗?
function testSignUpSuccess()
{
$post = [
'identity' => 'john.doe@gmail.com',
'password' => 'superSecret123',
];
$pt = $this->getPresenterTester()
->setPresenter('Sign')
->setAction('up')
->setHandle('signUpForm-submit')
->setPost($post);
$response = $pt->run();
Assert::true($response instanceof Nette\Application\Responses\RedirectResponse);
//TODO test that flashMessage: 'login successful' is displayed on final page
}
注意:此示例使用PresenterTester工具来获取响应,但重要的部分是关于使用该响应,因此无论您是通过本机方式还是通过此工具获取它都无关紧要。