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:
- Stworzyć nowy endpoint poprzez naciśnięcie Add route
- Wybrać metodę
GET
lubPOST
- Dodać nazwę ścieżki, w tym przypadku
/redirect
- Ustawić przekierowanie na
/user
poprzez dodanie HeaderaLocation : /user
- Zrestartować serwer
Błąd
Aby zasymulować błąd HTTP należy:
- Wybrać istniejący endpoint lub stworzyć nowy
- Wybrać kod błędu HTTP
- 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:
- Wybrać endpoint
- 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:
- Stworzyć nowe środowisko poprzez naciśnięcie Add environment
- Przejść do ustawień środowiska
- Ustawić „Proxy mode” na „Enabled” i ustawić adres realnego serwera
- Uruchomić serwer
- 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