Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]debugowanie kontrolera Symfony w trakcie testów (phpunit w phpstorm) z Guzzle (REST).
porzeczki
post 30.01.2018, 10:07:14
Post #1





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 15.09.2016
Skąd: Warszawa

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


Debugując test debugger zatrzymuje się na breakpointach (w phpstorm) w klasie testującej (podklasy PHPUnit_Framework_TestCase), ale nie zatrzymuje się na breakpointach do akcji kontrolera Symfony którego testowane żądanie dotyczy, a wchodzi do tego kontrolera na pewno:

  1. //test - tu debugger się zatrzymuje
  2. $response = $this->client->post('/api/programmers', [
  3. 'body' => json_encode($data)
  4. ]);
  5.  
  6. $this->assertEquals(201, $response->getStatusCode());


  1. //kontroler - tu debugger NIE zatrzymuje się
  2. /**
  3.   * @Route("/api/programmers")
  4.   * @Method("POST")
  5.   */
  6. public function newAction(Request $request)
  7. {
  8. ...
  9. return new Response($json, 202, array(
  10. 'Content-Type' => 'application/json'
  11. ));

... bo kod odpowiedzi mam 202

Więc dlaczego nie zatrzymuje się na breakpoincie w kontrolerze?

Ten post edytował porzeczki 30.01.2018, 10:09:11
Go to the top of the page
+Quote Post
nospor
post 30.01.2018, 11:57:37
Post #2





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




Bo jak debugujesz test ktory wysyla zupelnie inne żądanie http to nei oczekuj ze debugger bedzie nagle debugowal tez oddzielny "serwer"


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
vokiel
post 30.01.2018, 12:49:28
Post #3





Grupa: Zarejestrowani
Postów: 2 592
Pomógł: 445
Dołączył: 12.03.2007

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


Skoro mówisz o testach, to możesz tam mockować
Kod
$this->client
i wtedy debugowanie gładko do niego wejdzie. Do tego oddzielne testy samego klienta i masz przetestowane wszystko w dwóch krokach.


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 30.01.2018, 12:55:24
Post #4





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

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


A po co chcesz debugować testy?
Go to the top of the page
+Quote Post
porzeczki
post 30.01.2018, 13:10:38
Post #5





Grupa: Zarejestrowani
Postów: 144
Pomógł: 0
Dołączył: 15.09.2016
Skąd: Warszawa

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


Cytat(nospor @ 30.01.2018, 11:57:37 ) *
Bo jak debugujesz test ktory wysyla zupelnie inne żądanie http to nei oczekuj ze debugger bedzie nagle debugowal tez oddzielny "serwer"

Nie rozumiem. Test wysyła żądanie, które trafia do tego kontrolera.
"inne żądanie"? "oddzielny serwer"?

(A chcę debugować testy bo chcę debugować różne scenariusze.)
(Nie chcę mockować, nie robię testów jednostkowych)

Ten post edytował porzeczki 30.01.2018, 13:12:28
Go to the top of the page
+Quote Post
nospor
post 30.01.2018, 13:13:22
Post #6





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




Cytat
Nie rozumiem. Test wysyła żądanie, które trafia do tego kontrolera.
No a jak wysylasz to żądanie? Przez wewnetrzny mechanizm symfony czy moze jednak normalnie przez adres,np:
http://localhost/blab/blabla
? Bo z tego co widze to przez Guzzle czyli walisz normalnie kolejne żądanie, ktore ma sie nijak do aktualnie debugowanego


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pyton_000
post 30.01.2018, 13:17:02
Post #7





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

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


Cytat(porzeczki @ 30.01.2018, 13:10:38 ) *
(A chcę debugować testy bo chcę debugować różne scenariusze.)


A wiesz że najpierw piszesz test który ma sprłić twój scenariusz a potem piszesz do tego kod?
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: 26.04.2024 - 04:56