Narzędzia: Mockoon – szybkie i łatwe mockowanie backendu.

Niezaimplementowany albo niedziałający backend nie musi być wcale blockerem dla tasków mobilnych – o ile znane jest API. Do replikacji błędów nie trzeba zaprzęgać backendowców lub testować na produkcji. Są do tego odpowiednie narzędzia i nie jest to JSON na sztywno ustawiony w aplikacji. Lepszym rozwiązaniem (oczywiście poza dobrym zestawem testów automatycznych) jest zastosowanie na przykład Mockoona.

Jest to bardzo proste i intuicyjne narzędzie do mockowania backendu. Pozwala także stworzyć proxy, dzięki czemu można zamockować tylko wybrane endpointy.

Serwer uruchamia się na maszynie lokalnej, domyślnie na porcie 3000.  Z poziomu emulatora Androida uruchomionego na lokalnym komputerze, można odwołać się do zmockowanego serwera za pomocą adresu http://10.0.2.2:3000

Narzędzie posiada dosyć sporo możliwości, przy czym jest bardzo proste w obsłudze, nawet dla osób posiadających małą wiedzę dotyczącą protokołu HTTP. Postaram się opisać i przedstawić najważniejsze funkcjonalności. Więcej informacji i instrukcji znajdziesz na oficjalnej witrynie narzędzia https://mockoon.com/tutorials/

Redirect

Aby zasymulować redirect na endpoincie należy:

  1. Stworzyć nowy endpoint poprzez naciśnięcie Add route
  2. Wybrać metodę GET lub POST
  3. Dodać nazwę ścieżki, w tym przypadku /redirect
  4. Ustawić przekierowanie na /user poprzez dodanie Headera Location : /user
  5. Zrestartować serwer

Błąd

Aby zasymulować błąd HTTP należy:

  1. Wybrać istniejący endpoint lub stworzyć nowy
  2. Wybrać kod błędu HTTP
  3. Dodać body błędu – jeśli konieczne

Opóźnienie odpowiedzi HTTP

Tworząc aplikację mobilną powinno się implementować widoki z myślą o wolnym internecie – czyli z animacją wczytywania. Operując na testowym serwerze nie jesteśmy w stanie zasymulować wolnej sieci w szczególności, gdy zapytania są bardzo proste, ponieważ mimo małej przepustowości mała odpowiedź dociera nadzwyczaj szybko.

Aby zasymulować długie wczytywanie, lub wywołać timeout należy:

  1. Wybrać endpoint
  2. Ustawić opóźnienie „Route latency”

Proxy

Jednym z fajniejszych rozwiązań mockoona jest możliwość utworzenia proxy do rzeczywistego serwera. Dzięki temu można zamockować tylko wybrany endpoint podczas gdy reszta jest przekierowywana do realnego backendu.

Aby stworzyć serwer proxy należy:

  1. Stworzyć nowe środowisko poprzez naciśnięcie Add environment
  2. Przejść do ustawień środowiska
  3. Ustawić „Proxy mode” na „Enabled” i ustawić adres realnego serwera
  4. Uruchomić serwer
  5. Aby zmockować konkretny endpoint należy po prostu dodać nowy endpoint za pomocą „Add route” i odświeżyć serwer

Logi

W Android Studio można podejrzeć zapytania HTTP za pomocą wbudowanego narzędzia do profilowania. Jednak w przypadku aplikacji releasowej, którą posiadają najczęściej testerzy taki podgląd może być niemożliwy. Gdy przepuścisz cały ruch przez Mockoona z wykorzystaniem proxy, jest możliwe obserwowanie ruchu sieciowego pomiędzy aplikacją a backendem.

Dodatkowo, na podstawie przechwyconego zapytania można utworzyć od razu mocka wybranego endpointa

Linki

Jeśli uważasz treść za wartościową to podziel się nią z innymi. Dziękuję.

Mateusz Chrustny

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *