Symfony 4.4 предупреждение об устаревании для нескольких клиентов в пользовательском тесте устарело, все еще присутствует в документации - PullRequest
0 голосов
/ 10 января 2020

Symfony затронутые версии : 4.4.0

Описание
После обновления до Symfony 4.4.0 я получил следующее предупреждение об устаревании: вызов «Symfony \ Bundle \ FrameworkBundle \ Test \ WebTestCase :: createClient ()» во время загрузки ядра устарел с Symfony 4.4 и выдаст 5.0, убедитесь, что ядро ​​выключено перед вызовом метода.

Однако я делаю то же самое, что и в документации (https://symfony.com/doc/current/testing/insulating_clients.html), это также выдает то же предупреждение об устаревании. Четкой альтернативы нет, документация устарела или это ошибка?

Как воспроизвести

class PagesTestCase extends WebTestCase {
     ...
     public function setUp(): void {
        parent::setUp();
        ...
        // Create clients
        self::$anonymousClient = self::createClient(array(), array(
            'HTTPS' => true,
        ));
        self::$userClient = self::createClient(array(), array(
            'PHP_AUTH_USER' => self::get('anonymous')->getUsername(),
            'PHP_AUTH_PW' => '***',
            'HTTPS' => true,
        ));
        self::$adminClient = self::createClient(array(), array(
            'PHP_AUTH_USER' => self::get('testuser')->getUsername(),
            'PHP_AUTH_PW' => '***',
            'HTTPS' => true,
        ));

1 Ответ

2 голосов
/ 10 января 2020

Вам нужно выключить ядро. WebTestCase extends KernelTestCase, который предоставляет метод stati c self::ensureKernelShutdown().

Вызовите его перед созданием клиентов.

Это действительно все еще отсутствует в документации.

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