В документации 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',
'/submit',
array('name' => 'Fabien'),
array('photo' => __FILE__)
);
$this->assertEquals(1, count($client->getRequest()->files->all()));
}
}
Просто чтобы прояснить ситуацию. Это не вопрос о том, как делать загрузку файлов, что я могу сделать. Речь идет о том, как проверить их в Symfony2.
Редактировать
Я убежден, что все делаю правильно. Итак, я создал тест для Framework и сделал запрос на выборку.
https://github.com/symfony/symfony/pull/1891