问题
PHPUnit断言$this->assertRedirectedToAction('CatsController@index')
失败。
路线
Route::get('/','CatsController@index');
测试用例
class CatTest extends TestCase {
/**
* A basic functional test example.
*
* @return void
*/
public function testHomePageRedirection()
{
$this->call('GET','/');
$this->assertRedirectedToAction('CatsController@index');
}
错误
Failed asserting that Illuminate\Http\Response Object (...) is an instance of class "Illuminate\Http\RedirectResponse".
/Applications/MAMP/htdocs/crudapp/vendor/laravel/framework/src/Illuminate/Foundation/Testing/AssertionsTrait.php:110
/Applications/MAMP/htdocs/crudapp/vendor/laravel/framework/src/Illuminate/Foundation/Testing/AssertionsTrait.php:140
/Applications/MAMP/htdocs/crudapp/app/tests/CatTest.php:13
有人可以帮我确定我遇到此错误的原因吗?
答案 0 :(得分:0)
因为您不是redirected
到CatsController@index
- 这就是您所在的页面。
Route::get('/','CatsController@index')
Route::get('/redirect', function () {
return Redirect::action('CatsController@index');
});
public function testHomePageOk()
{
$this->call('GET','/');
$this->assertResponseOk();
}
public function testRedirectToHomePage()
{
$this->call('GET','/redirect');
$this->assertRedirectedToAction('CatsController@index');
}