受影响的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()
。