在Symfony2文档中,它提供了一个简单的例子:
$client->request('POST','/submit',array('name' => 'Fabien'),array('photo' => '/path/to/photo'));
然而,在我所有的测试中,我在应用程序的$request对象中没有任何东西,在$_FILES数组中没有任何内容.
这是一个简单的WebTestCase,它是失败的.它是自包含的,并根据您传入的参数来测试$client构造的请求.它不是测试应用程序.
class UploadTest extends WebTestCase { public function testNewPhotos() { $client = $this->createClient(); $client->request( 'POST',array('photo' => __FILE__) ); $this->assertEquals(1,count($client->getRequest()->files->all())); } }
只是为了清楚这不是一个关于如何做文件上传的问题,我可以做.它是关于如何测试他们在Symfony2.
编辑
我相信我是做正确的所以我创建了一个测试框架并提出了一个拉请求.
https://github.com/symfony/symfony/pull/1891