我正在为我的 Symfony 3 应用程序编写功能测试,但我遇到了一个问题,即控制器中的每个方法都只接受自定义请求,而不接受Request
BrowserKit 爬虫中使用的默认类。如何在 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();