尝试着手测试。我有一个相当简单的测试,以确保用户在进入根页面时被踢登录:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
这可以到最后一行,它似乎不是检查当前路径,测试本身正在尝试重定向,因为我得到运行phpunit的错误:
public function index_without_auth_should_redirect_to_login()
{
$response = $this->get('/');
$response->seeStatusCode(302);
$response->seePageIs('/login');
}
我需要检查网址吗?
答案 0 :(得分:3)
您在技术上还没有登录页面,因为您没有按照重定向进行操作。你获得的例外是完全有效的。 seePageIs()
方法asserts if page is loaded。它expects 200响应(而你有302)。
您需要先关注重定向,或验证Location
标头,看看您是否被重定向到登录页面。
您可以使用具有MakesHttpRequests
特征的assertRedirectedTo()
or assertRedirectedToRoute()
个断言之一:
$this->get('/')
$this->seeStatusCode(302);
$this->assertRedirectedTo('http://localhost/login');