Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [SF2][Symfony][Symfony2]tworzenie pola request file w testach?
symer
post 10.10.2018, 12:54:11
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.08.2017

Ostrzeżenie: (0%)
-----


Witam. Jak za symulować w testach wysyłanie request? chodzi mi o dane pola file jak zasymilować . Oraz także GET.
  1. $client = static::createClient();
  2. $client->request('GET', $url);

Na forach pisze, że tak można zasymlować GET ale FILE niestety nie wiem. Może mi ktoś pomóc
Go to the top of the page
+Quote Post
Pyton_000
post 10.10.2018, 13:11:04
Post #2





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


https://stackoverflow.com/questions/6916989...ads-in-symfony2
Go to the top of the page
+Quote Post
symer
post 11.10.2018, 08:23:51
Post #3





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.08.2017

Ostrzeżenie: (0%)
-----


Niestety słabo. Nic nie chodzi.
próbuje tak :
  1. $this->client = static::createClient();
  2. $photo = array(
  3. 'data' => $this->_createUploadedFile()
  4. );
  5. $this->client->request(
  6. 'POST',
  7. $this->client->getContainer()->get('router')->generate(
  8. 'edit_add', array('id_add' => '1')
  9. ),
  10. array('name' => 'Fabien'),
  11. array('photo' => $photo )
  12. );


tutaj funkcja _createUploadedFile:
  1. public function _createUploadedFile() {
  2. return new UploadedFile(
  3. 'C:\xampp\htdocs\heroku\my_project_test\web\images\1.jpg', 'photo.jpg', 'image/jpeg', null
  4. );
  5. }


No i nie przesyła mi tego pliku :-(
Go to the top of the page
+Quote Post
Pyton_000
post 11.10.2018, 12:09:25
Post #4





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

Ostrzeżenie: (0%)
-----


Chodzi chodzi tylo Ty źle załączyłeś plik. Mam wrażenie że nie wiesz co robisz. Zrobiłeś Copy&paste bez zrozumienie tego co się dzieje.

https://symfony.com/doc/current/testing.htm...-method-sidebar zobacz jak wyglądają parametry metory request
Go to the top of the page
+Quote Post
symer
post 11.10.2018, 12:25:58
Post #5





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.08.2017

Ostrzeżenie: (0%)
-----


No dobra z tym akurat nie ma problemu. Już sobie poradziłem . Tylko jak wysłać tego clienta questionmark.gif?
ponieważ gdy robię client->request to nie wysyłam tego.
Ponieważ próbuje to odebrać i niczego nie dostaje. Chyba, że coś źle robię.
No ale gdy próbuje użyć var_dump($_POST) aby odebrać dane to niczego nie mam tak jakby nigdzie nie wysłał tych informacji. Mam nadzieje, że dobrze to wyjaśniłem.
PO prostu :
  1. $this->client = static::createClient();
  2. $paramsArray = array();
  3. $this->client->request(
  4. 'POST',
  5. $this->client->getContainer()->get('router')->generate(
  6. 'edit_add', array('id_add' => '1')
  7. ),
  8. $paramsArray,
  9. 'data' => $this->_createUploadedFile()
  10. ),
  11. 'Content-Type' => 'multipart/formdata'
  12. )
  13. );

Wysyłam dane i próbuje teraz odebrać te pole FILE i nie wiem właśnie jak.:
Gdy dla testu robię takie coś:
var_dump($_POST) to tablica jest pusta.
Może mi pomożesz jak to wyciągnąćquestionmark.gif? Tylko o to mi chodzi . Z resztą sobie już poradziłem

Ten post edytował symer 11.10.2018, 12:26:35
Go to the top of the page
+Quote Post
rad11
post 11.10.2018, 15:48:08
Post #6





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Pliki to raczej $_FILES
Go to the top of the page
+Quote Post
symer
post 11.10.2018, 15:49:56
Post #7





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.08.2017

Ostrzeżenie: (0%)
-----


No tak zamuliłem się w akcji ale tak , czy siak nic nie działa. Po prostu tablica $_FILES jest pusta
Go to the top of the page
+Quote Post
rad11
post 11.10.2018, 15:53:36
Post #8





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Tak jak Python napisal masz zle podane parametry tablica z photo powinna byc o jedno miejsce wyzej
Go to the top of the page
+Quote Post
symer
post 11.10.2018, 17:14:41
Post #9





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.08.2017

Ostrzeżenie: (0%)
-----


Zrobiłem tak i pełno błedów wyskakuje. Podniosłem o jedno miejsce wyżej:
  1. $this->client = static::createClient();
  2. // Any additional params
  3. $paramsArray = array();
  4. $this->client->request(
  5. 'POST',
  6. $this->client->getContainer()->get('router')->generate(
  7. 'edit_add', array('id_add' => '1')
  8. ),
  9. 'data' => $this->_createUploadedFile()
  10. ),
  11. 'Content-Type' => 'multipart/formdata'
  12. )
  13. );
Go to the top of the page
+Quote Post
rad11
post 11.10.2018, 17:31:34
Post #10





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Daj jako trzeci parametr pusta tablice.. a czwarty ma byc ten z photo... czytasz to co jest w dokumentacji ? Czy raczej to jest komiks dla Ciebie i przegladasz sobie obrazki ?☺
Go to the top of the page
+Quote Post
symer
post 11.10.2018, 17:59:03
Post #11





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 24.08.2017

Ostrzeżenie: (0%)
-----


No czytam dokumentacje ale próbowałem z niej i się wkurzyłem i tak zacząłem ten wątek. Widocznie źle to zrozumiałem. NO wcześniej tak przecież miałem zrobione i podczas wysłania mam pustą tablicę. Praktycznie wróciłem do punktu wyjścia :-(

Ten post edytował symer 11.10.2018, 18:02:38
Go to the top of the page
+Quote Post
rad11
post 11.10.2018, 18:29:36
Post #12





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Wchodzi Ci w ogóle do tej akcji ? Przypisz ten request w testach caly do zmiennej i zrob na nim ->html() luub ->text i go pokaz

Ten post edytował rad11 11.10.2018, 18:40:17
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.03.2024 - 15:19