1

我正在为我的 Symfony 3 应用程序编写功能测试,但我遇到了一个问题,即控制器中的每个方法都只接受自定义请求,而不接受RequestBrowserKit 爬虫中使用的默认类。如何在 Symfony 3 爬虫中模拟自定义请求类或以其他方式进行?

这是我的代码:

列表控制器.php

public function listAction(CustomRequest $request) 
{
return $this->render('list.html.twig');
}

ListControllerTest.php

 $client = static::createClient();
 $crawler = $client->request('GET', '/list/');

当我运行测试时,我收到:

TypeError: Argument 1 passed to AppBundle\Controller\ListController::listAction() must be an instance of AppBundle\Component\Http\CustomRequest, instance of Symfony\Component\HttpFoundation\Request given

这是我的app.php。在这里,我正在替换标准请求方法:

$kernel = new AppKernel('dev', true);
$kernel->loadClassCache();
$request = CustomRequest::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
4

0 回答 0