用户测试中多个客户端的 Symfony 4.4 弃用警告已弃用,仍存在于文档中

Kar*_*ton 4 php unit-testing deprecated symfony symfony5

受影响的 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,
        ));
Run Code Online (Sandbox Code Playgroud)

小智 12

您需要关闭内核。 WebTestCase extends KernelTestCase,它提供了一个静态方法self::ensureKernelShutdown()

在创建客户端之前调用它。

文档中确实仍然缺少这一点。