W dokumentacji Symfony2 Daje to prosty przykład:przesłane Testowanie plików w Symfony2
$client->request('POST', '/submit', array('name' => 'Fabien'), array('photo' => '/path/to/photo'));
symulować przesyłanie plików.
Jednak we wszystkich moich testach otrzymuję nic w obiekcie żądania $ w aplikacji i nic w tablicy $ _FILES.
Oto prosta WebTestCase, która się nie udała. Jest on samowystarczalny i testuje żądanie, że $ client konstruuje na podstawie parametrów, które przekazujesz. To nie jest testowanie aplikacji.
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()));
}
}
Po to, aby być jasne. To nie jest pytanie o to, jak mogę przesłać pliki. Chodzi o to, jak je przetestować w Symfony2.
Edit
Jestem przekonany, że robię to dobrze. Stworzyłem test dla Framework i wysłałem żądanie ściągnięcia. https://github.com/symfony/symfony/pull/1891
na utworzonym obiekcie UploadedFile $ file-> isValid() kończy się niepowodzeniem. Jakiś pomysł, dlaczego? – astroanu
@astroanu dodaj nowe pytanie, aby wyjaśnić swój problem. –