Vývojový proxy vs. jednotkové testy

Vývojový proxy server a testy jednotek slouží k různým účelům ve vaší testovací strategii. I když jsou obě cenné, testují vaši aplikaci základními různými způsoby. Díky jejich společnému použití získáte komplexní pokrytí chování vaší aplikace.

Různé přístupy k testování

Testy jednotek testují izolované části kódu s napodobenými závislostmi. Když píšete jednotkový test pro kód, který volá rozhraní API, obvykle napodobíte HTTP klienta tak, aby vracel předdefinované odpovědi. Tento přístup umožňuje ověřit, že váš kód zpracovává konkrétní scénáře správně.

Dev Proxy testuje vaši spuštěnou aplikaci se simulovaným chováním API. Místo napodobování kódu zachytí dev proxy skutečné požadavky HTTP a simuluje reálné podmínky, jako jsou chyby, omezování a latence. Tento přístup otestuje aplikaci jako celek, včetně všech vrstev mezi vaším kódem a rozhraním API.

Kdy použít jednotlivé

Jednotkové testy použijte, pokud chcete:

  • Testování konkrétního chování funkce a hraničních případů
  • Ověřte obchodní logiku v izolaci
  • Získání rychlé zpětné vazby během vývoje
  • Dosažení vysokého pokrytí kódu
  • Testování konkrétních cest zpracování chyb

Použijte Dev Proxy, když chcete:

  • Otestujte svou běžící aplikaci od začátku až do konce
  • Simulujte podmínky, které je obtížné reprodukovat, jako je omezování šířky pásma nebo problémy se sítí.
  • Testování logiky retry a zpracování chyb napříč všemi vrstvami
  • Spusťte aplikaci během zátěže s náhodnými selháními
  • Ověření odolnosti beze změny kódu

Výhody dev proxy serveru

Dev Proxy nabízí několik výhod oproti tradičním přístupům mockování.

  • Nejsou potřeba žádné změny kódu. Aplikaci nemusíte upravovat tak, aby používala dev proxy server. Funguje na úrovni sítě a transparentně zachycuje požadavky HTTP.
  • Funguje s libovolnou knihovnou HTTP. Některé knihovny HTTP jsou notoricky obtížné napodobovat. U dev Proxy nezáleží na tom, kterou knihovnu používáte – RestSharp, HttpClient, Axios nebo jiné. Dev Proxy zachytí veškerý provoz HTTP bez ohledu na knihovnu.
  • Otestuje skutečnou aplikaci. Jednotkové testy s mockovanými HTTP klienty netestují skutečnou logiku opakování, zpracování připojení ani chování při přetížení časového limitu. Dev Proxy testuje vaši skutečnou aplikaci se všemi jejími závislostmi.
  • Snazší pochopení selhání. Když ve spuštěné aplikaci můžete aktivovat selhání na vyžádání, je snazší pochopit a ladit, jak je vaše aplikace zpracovává.
  • Simuluje složité podmínky. Dev Proxy může simulovat podmínky, které jsou nepraktické pro reprodukci pomocí napodobení, jako jsou náhodná selhání při zatížení, postupné omezování nebo občasné problémy se sítí.

Doplňková testovací strategie

Nejúčinnější přístup kombinuje obě metody testování:

  • Používejte testy jednotek pro logiku. Napište testy jednotek pro ověření obchodní logiky, transformací dat a konkrétních cest kódu pro zpracování chyb.
  • K zajištění odolnosti použijte dev proxy server. Pomocí Dev Proxy ověřte, že vaše aplikace správně zpracovává skutečné podmínky rozhraní API – omezování, chyby a pomalé odpovědi.
  • Použijte obojí v CI/CD. Spusťte jednotkové testy pro rychlé získání zpětné vazby při každém commitu. Pomocí dev Proxy v integračních testech můžete zachytit problémy s odolností před nasazením.

Testy jednotek vám řeknou, jestli je váš kód správný. Dev Proxy vám řekne, jestli je vaše aplikace odolná. Potřebujete obojí.

Další kroky