Laravel http тест перенаправления на \ вместо логина - PullRequest
0 голосов
/ 05 июля 2018

Привет, я пробую тестирование в laravel 5.6, но когда пытаюсь проверить неверный логин, как показано ниже

public function testInvalidLogin()
    {
        $response = $this->post('/login',[ 'email'=>'fake@email.com', 'password'=>'secret' ]);
        $response->assertStatus(302);
        $response->assertLocation('/login');
    }

но когда я запускаю это, я получаю ошибку

Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'http://localhost/login'
+'http://localhost'

D:\project\larademo\vendor\laravel\framework\src\Illuminate\Foundation\Testing\TestResponse.php:198
D:\project\larademo\tests\Feature\ExampleTest.php:38

FAILURES!
Tests: 3, Assertions: 5, Failures: 1.

Я также использую followingRedirects(), но он дает код ответа 200 и содержимое '/'

Можете ли вы помочь мне, что здесь не так

РЕДАКТИРОВАТЬ : Я ожидаю, что он должен перенаправить на вход в систему, как при использовании в браузере после неудачного входа, он перенаправляет обратно на страницу входа, поэтому тест должен перенаправить на вход

1 Ответ

0 голосов
/ 05 июля 2018

assertLocation проверяет заголовок Location , для которого будет установлен на /, потому что именно на него указывает перенаправление.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...