【发布时间】:2015-02-01 15:40:55
【问题描述】:
我有一个控制器,它在提交电子邮件后执行重定向到主页,如下所示:
return Redirect::route('home')->with("message", "Ok!");
我正在为它编写测试,但我不确定如何让 phpunit 跟随重定向,以测试成功消息:
public function testMessageSucceeds() {
$crawler = $this->client->request('POST', '/contact', ['email' => 'test@test.com', 'message' => "lorem ipsum"]);
$this->assertResponseStatus(302);
$this->assertRedirectedToRoute('home');
$message = $crawler->filter('.success-message');
// Here it fails
$this->assertCount(1, $message);
}
如果我用控制器上的代码代替它,并删除前 2 个断言,它就可以工作
Session::flash('message', 'Ok!');
return $this->makeView('staticPages.home');
但我想使用Redirect::route。有没有办法让 PHPUnit 跟随重定向?
【问题讨论】:
标签: php redirect laravel phpunit