Symfony 4 - Функциональный тест - Клиент не следит за перенаправлениями, хотя followRedirects имеет значение true - PullRequest
2 голосов
/ 25 апреля 2019

Я пытался начать реализацию некоторых функциональных тестов в приложении Symfony 4, над которым я работаю, и мне не удается перенаправиться, и в итоге я получаю код ответа 200 со своей индексной страницы, хотя в конце я получаю ответ 200при обращении к нему через локальный сервер Symfony.

Вот тест, о котором идет речь

class MainControllerTest extends WebTestCase
{
    public function testIndex()
    {
        $client = static::createClient();
        $client->request('GET', '/fr');
        $client->followRedirects(true);
        var_dump($client->isFollowingRedirects());
        $this->assertEquals(200, $client->getResponse()->getStatusCode());
    }
}

, а вот вывод phpunit:

#!/usr/bin/env php
PHPUnit 6.5.14 by Sebastian Bergmann and contributors.

Testing Project Test Suite
Fbool(true)
...                                                                4 / 4 (100%)

Time: 888 ms, Memory: 22.00MB

There was 1 failure:

1) App\Tests\Controller\MainControllerTest::testIndex
Failed asserting that 301 matches expected 200.

FollowRedirects действительно установленправда, но я все равно получаю ответ 301, когда мне нужно получить 200.

Заранее благодарен за любой совет или ответ о том, как решить эту проблему:)

1 Ответ

0 голосов
/ 25 апреля 2019

followRedirects - это значение .Он используется для каждого последующего запроса.

, поэтому настройка после выполнения вашего запроса ... ну ... бесполезна.

так ... изменить

    $client->request('GET', '/fr');
    $client->followRedirects(true);

до

    $client->followRedirects(true);
    $client->request('GET', '/fr');

и должно работать.

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