Symfony 5.0 LiipFunctionalTestBundle Form 必须是 Client 而不是 KernelBrowser 的实例
Symfony 5.0 LiipFunctionalTestBundle Form must be an instance of Client instead of KernelBrowser
我将我的项目升级到 Symfony 5.0。但是,当 运行 测试时,出现以下错误:
TypeError: Argument 1 passed to App\Tests\PagesTestCase::form() must be an instance of Symfony\Bundle\FrameworkBundle\Client, instance of Symfony\Bundle\FrameworkBundle\KernelBrowser given
此表单中的参数 1 是 $userClient
,它是用 createClient
创建的。在 Symfony 5 中,Symfony\Bundle\FrameworkBundle\Client
被移除。为什么它仍然需要一个 Client 实例?我正在使用 LiipFunctionalTestBundle
我查看了 LiipFunctionalTestBundle
的 src 并在 QueryCountClient.php
中找到了以下内容:
if (!class_exists(Client::class)) {
class_alias(KernelBrowser::class, Client::class);
}
在我看来,这应该可以解决问题,但事实并非如此。我对为什么会收到此错误一无所知。
我的代码中仍然有 Client
,所以它需要一个客户端。
我将我的项目升级到 Symfony 5.0。但是,当 运行 测试时,出现以下错误:
TypeError: Argument 1 passed to App\Tests\PagesTestCase::form() must be an instance of Symfony\Bundle\FrameworkBundle\Client, instance of Symfony\Bundle\FrameworkBundle\KernelBrowser given
此表单中的参数 1 是 $userClient
,它是用 createClient
创建的。在 Symfony 5 中,Symfony\Bundle\FrameworkBundle\Client
被移除。为什么它仍然需要一个 Client 实例?我正在使用 LiipFunctionalTestBundle
我查看了 LiipFunctionalTestBundle
的 src 并在 QueryCountClient.php
中找到了以下内容:
if (!class_exists(Client::class)) {
class_alias(KernelBrowser::class, Client::class);
}
在我看来,这应该可以解决问题,但事实并非如此。我对为什么会收到此错误一无所知。
我的代码中仍然有 Client
,所以它需要一个客户端。