File 在zf2中测试上传的文件

File 在zf2中测试上传的文件,file,post,controller,zend-framework2,phpunit,File,Post,Controller,Zend Framework2,Phpunit,我想在zf2控制器中测试一个操作,该控制器接收并处理一个文件。我尝试了以下代码对post数据作出反应: public function testIndexActionCanBeAccessed() { $this->dispatch('/', 'POST', array('test_file' => 'abcdefgh')); $this->assertResponseStatusCode(200); } 问题是“test_file”参数作为post参数处理。

我想在zf2控制器中测试一个操作,该控制器接收并处理一个文件。我尝试了以下代码对post数据作出反应:

public function testIndexActionCanBeAccessed()
{
    $this->dispatch('/', 'POST', array('test_file' => 'abcdefgh'));
    $this->assertResponseStatusCode(200);
}
问题是“test_file”参数作为post参数处理。因此,我的问题是,如何实现php/zf2将参数作为文件而不是post参数来处理


我试图在zf2文档和文件“Zend\Test\PHPUnit\Controller\AbstractHttpControllerTestCase”中找到答案,但没有成功。

好的,由于提供了Sam链接,我现在可以测试上传的文件了,下面是使用简单全局变量$\u files的工作代码:


好的,感谢Sam提供的链接,我现在可以测试上传的文件了,下面是使用简单全局变量$\u files的工作代码:

然后在控制器中:

/**
 * Be strict on where you get file info! No blind unions.
 */
$data = $request->getPost()->toArray();
$data['upload'] = current($request->getFiles()->toArray());
然后在控制器中:

/**
 * Be strict on where you get file info! No blind unions.
 */
$data = $request->getPost()->toArray();
$data['upload'] = current($request->getFiles()->toArray());
/**
 * Be strict on where you get file info! No blind unions.
 */
$data = $request->getPost()->toArray();
$data['upload'] = current($request->getFiles()->toArray());