• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Waity w Rest API

+1 głos
46 wizyt
pytanie zadane 3 dni temu w Java przez blofeld Użytkownik (670 p.)

Hej.

Prośba.

Szukam odpowiedzi na pytanie, na które nigdzie nie mogę znaleźć nic klarownego.

Mianowicie chodzi mi o to czy w testach API (JAVA) jest możliwe ustawienie waita na pełną odpowiedź serwera ?

Coś jak WebDriverWait w Selenium. Nie chcę stosować Thred.sleepa() a nigdzie nie mogę znaleźć nic konkretnego na ten temat. W testach zaś, które próbuję pisać, przy wielokrotnym ich uruchamianiu system czasem wyrzuca mi błąd, co według mnie można tłumaczyć chyba tylko niepełną odpowiedzią z serwera. 

Pracuję z API Spotify'a :-)

1 odpowiedź

0 głosów
odpowiedź 3 dni temu przez Wiciorny Ekspert (227,930 p.)

Waity na wątkach działają na wątkach nie na oczekiwaniu na response.
 

Thread.sleep() może działać w większości przypadków gdy w rzeczywistości czekasz na wystąpienie określonego warunku lub stanu aplikacji. Thread.sleep() nie gwarantuje, że to, na co czekasz, faktycznie się wydarzyło.

Jeśli na przykład czekasz na odpowiedź z serwera - > może ona zwykle wraca za 5 sekund, ale jeśli ustawisz sen na 5 sekund w dniu, w którym żądanie powróci za 10 sekund, test zakończy się niepowodzeniem.

Jest taka bilbioteka jak Awatility , które jest idealne do zapewnienia, że ​​określony stan wystąpi przed przejściem.

Jednak nie wiem jak wygląda twoje testowanie, generalnie testowanie powinieneś Mockować, a nie testować realnych danych. Zestaw danych też powinien być Mokowalny i wywołania z nim związane wywołane na przygotowanym setupie.
https://www.baeldung.com/mockserver
 

Ostatnia rzecz: nie wiem na ile zaawansowany jesteś w programowaniu, sądząc po pytaniu i stwierdzeniu chęci testowaniem waitami, raczej podejrzewam, że na samym początku.  Polecam również pomyśleć o asynchroniczności w tym wypadku nie Future, ale guava: https://www.baeldung.com/guava-futures-listenablefuture daje Ci to gwarancje operacji nie blokujących samo Future niestety jest blokujące, bo usilnie oczekuje na pobranie. 

Podobne pytania

0 głosów
1 odpowiedź 67 wizyt
pytanie zadane 26 maja w Java przez wanttobeanengineer Obywatel (1,120 p.)
0 głosów
1 odpowiedź 126 wizyt
pytanie zadane 17 lutego 2020 w Java przez HakerHakerski Nowicjusz (160 p.)
0 głosów
2 odpowiedzi 469 wizyt

88,662 zapytań

137,270 odpowiedzi

306,599 komentarzy

58,863 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...