Symfony 3功能测试 - 自定义请求类

时间:2016-10-24 06:45:24

标签: php symfony testing symfony-3.1

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

这是我的代码:

ListController.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();

0 个答案:

没有答案