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

标签 php unit-testing symfony deprecated 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,
        ));

最佳答案

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

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

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

关于php - 用户测试中多个客户端的 Symfony 4.4 弃用警告已弃用,仍存在于文档中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59672899/

相关文章:

symfony - 向 Symfony2 项目添加外部库

php - 装饰存储库的 Laravel 接口(interface)注入(inject)

php - DVWA 无法访问

php - 无法通过 phpMyadmin 重置 wp-admin 密码

java - UnitTest (groovy + grails) - 无法拆卸元类

c# - 使用Moq和Xunit测试接口(interface)

php - Composer BowerPHP 错误

java - 模拟静态 Liferay 方法

Symfony 3.3 将存储库注入(inject)服务

php - Symfony 2.4 - 重复表单字段 - 当值不匹配时,如何将违规映射到第二个字段?