Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
serwer proxy developerski i testy jednostkowe służą różnym celom w strategii testowania. Chociaż obie są cenne, testują aplikację na zasadniczo różne sposoby. Użycie ich razem zapewnia kompleksowy zakres zachowania aplikacji.
Różne podejścia do testowania
Testy jednostkowe testują izolowane fragmenty kodu za pomocą pozorowanych zależności. Podczas pisania testu jednostkowego dla kodu, który wywołuje interfejs API, zazwyczaj tworzysz obiekt imitujący klienta HTTP, aby zwrócić wstępnie zdefiniowane odpowiedzi. Takie podejście umożliwia sprawdzenie, czy kod prawidłowo obsługuje określone scenariusze.
Dev Proxy testuje uruchomioną aplikację przy użyciu symulacji zachowania interfejsu API. Zamiast wyśmiewać kod, serwer proxy deweloperów przechwytuje rzeczywiste żądania HTTP i symuluje rzeczywiste warunki, takie jak błędy, ograniczanie przepustowości i opóźnienie. Takie podejście sprawdza całą aplikację, w tym wszystkie warstwy między kodem a interfejsem API.
Kiedy należy używać każdego z nich
Użyj testów jednostkowych , gdy chcesz:
- Testowanie konkretnego zachowania funkcji i przypadków brzegowych
- Weryfikowanie logiki biznesowej w izolacji
- Uzyskiwanie szybkich opinii podczas opracowywania
- Osiągnij wysokie pokrycie kodu
- Testowanie ścieżek obsługi określonych błędów
Użyj serwera proxy deweloperskiego , jeśli chcesz:
- Przetestuj swoją działającą aplikację od początku do końca
- Symulowanie warunków, które są trudne do odtworzenia, takich jak problemy z ograniczaniem przepustowości lub siecią
- Testowanie rzeczywistej logiki ponawiania prób i obsługi błędów we wszystkich warstwach
- Uruchamianie aplikacji pod obciążeniem z losowymi błędami
- Weryfikowanie odporności bez zmieniania kodu
Zalety proxy deweloperskiego
Dev Proxy oferuje kilka zalet w porównaniu z tradycyjnymi podejściami do pozorowania.
- Nie są potrzebne żadne zmiany kodu. Nie musisz modyfikować aplikacji tak, aby korzystała z serwera proxy deweloperów. Działa na poziomie sieci, przechwytując żądania HTTP w sposób niewidoczny.
- Działa z dowolną biblioteką HTTP. Niektóre biblioteki HTTP są notorycznie trudne do wyśmiewać. W przypadku serwera proxy deweloperów nie ma znaczenia, której biblioteki używasz — RestSharp, HttpClient, Axios ani innych. "Dev Proxy przechwytuje cały ruch sieciowy HTTP niezależnie od biblioteki."
- Testuje rzeczywistą aplikację. Testy jednostkowe z wyśmiewanymi klientami HTTP nie testują rzeczywistej logiki ponawiania, obsługi połączeń ani zachowania limitu czasu. Dev Proxy testuje rzeczywistą aplikację wraz z wszystkimi jej zależnościami.
- Łatwiej zrozumieć błędy. Gdy możesz wyzwalać błędy na żądanie w uruchomionej aplikacji, łatwiej jest zrozumieć i debugować sposób ich obsługi przez aplikację.
- Symuluje złożone warunki. Dev Proxy może symulować warunki, które są niepraktyczne do odtworzenia za pomocą mocków, takich jak losowe awarie pod obciążeniem, stopniowe ograniczanie przepustowości lub sporadyczne problemy z siecią.
Uzupełniająca strategia testowania
Najbardziej efektywne podejście łączy obie metody testowania:
- Użyj testów jednostkowych dla logiki. Pisanie testów jednostkowych w celu zweryfikowania logiki biznesowej, przekształceń danych i określonych ścieżek kodu obsługi błędów.
- Użyj serwera proxy deweloperskiego w celu uzyskania odporności. Użyj serwera proxy deweloperów, aby sprawdzić, czy aplikacja prawidłowo obsługuje rzeczywiste warunki interfejsu API — ograniczanie przepustowości, błędy i powolne odpowiedzi.
- Użyj obu w CI/CD. Uruchamiaj testy jednostkowe, aby uzyskać szybką informację zwrotną na temat każdego zatwierdzenia zmian. Użyj serwera proxy deweloperskiego w testach integracji, aby przechwycić problemy z odpornością przed wdrożeniem.
Testy jednostkowe informują, czy kod jest poprawny. Serwer proxy deweloperów informuje, czy aplikacja jest odporna. Potrzebujesz obu tych elementów.
Następne kroki
- Przetestuj moją aplikację z losowymi błędami — 5 minut
- Użyj Dev Proxy w CI/CD — uruchamiaj testy jednostkowe i Dev Proxy w swoim potoku