用户测试中针对多个客户端的 Symfony 4.4 弃用警告已弃用,文档中仍然存在
Symfony 4.4 deprecation warning for multiple clients in user test is deprecated, still present in documentation
受影响的 Symfony 版本:4.4.0
描述
升级到 Symfony 4.4.0 后,我收到以下弃用警告:
从 Symfony 4.4 开始不推荐在内核启动时调用 "Symfony\Bundle\FrameworkBundle\Test\WebTestCase::createClient()" 并将在 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()
。
在创建客户端之前调用它。
这确实在文档中仍然缺失。
受影响的 Symfony 版本:4.4.0
描述
升级到 Symfony 4.4.0 后,我收到以下弃用警告:
从 Symfony 4.4 开始不推荐在内核启动时调用 "Symfony\Bundle\FrameworkBundle\Test\WebTestCase::createClient()" 并将在 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()
。
在创建客户端之前调用它。
这确实在文档中仍然缺失。