首页 > 解决方案 > Symfony 5.0 LiipFunctionalTestBundle Form 必须是 Client 的实例而不是 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被删除。为什么它仍然期待一个客户端实例?我在用LiipFunctionalTestBundle

我查看了 srcLiipFunctionalTestBundle并在QueryCountClient.php以下内容中发现:

if (!class_exists(Client::class)) {
    class_alias(KernelBrowser::class, Client::class);
}

在我看来,这应该可以解决问题,但是,事实并非如此。我对为什么会收到此错误一无所知。

标签: symfony5liipfunctionaltestbundle

解决方案


我的代码中仍然有Client某个地方,所以它需要一个客户。


推荐阅读