Disse dage næsten alle programmer har flere integration punkter som database, gateway, betaling, eller en webtjeneste, som det forbruger over HTTP.
Al kommunikation med eksterne systemer sker over netværket og begge netværk og de systemer ofte gå wonky.
Hvis vi ikke teste adfærd i vores system, når den fjerne ende opererer ud af spec og går skuddermudder det eneste sted til test bliver i produktion, som er, som vi alle ved, for nogle systemer er mindre end acceptabel.
Fordi opkald til eksterne systemer bruger netværk, kan socket-forbindelse har forskellige svigt scenarier, for eksempel:
- Fjernbetjeningen ende nulstiller forbindelsen ved at sende en TCP RST pakke
- Der kan oprettes forbindelse, men svaret er aldrig sendt tilbage, og forbindelsen er ikke lukket (Hvis du ikke bruger socket timeout i din app, du kan være i problemer på et tidspunkt).
- Fjernbetjeningen ende kan sende skrald data svaret
- Tjenesten kan sende HTML via HTTP i stedet for den forventede JSON svar
- HTTP service kan sende en byte af svardataene hvert 30. sekund
- Fjernbetjeningen HTTP Tjenesten sender kun sidehoveder og ingen organ
- Tjenesten kan sende megabyte data i stedet for forventede kilobyte
- Etc.
Det ville være godt at kunne teste opførsel vores ansøgning, når nogle af disse betingelser ske.
Cynic forsøger at hjælpe med at testning. Dybest set er det en test sele (test dobbelt), der kan bruges til at simulere listige og lusket eksterne systemer direkte fra din kommando-linje.
Cynic vil forsøge hårdt at skade dit system.
Det er mål er at gøre dit system under test kynisk.
Læs formaterede docs på http://cynic.readthedocs.org
Installation
& Nbsp; [sudo] pip installere kyniker
Eller den blødende kant version fra git mester filial:
& Nbsp; [sudo] pip installere git+https://github.com/rspivak/cynic.git#egg=cynic
Requirements:
- Python
Kommentarer ikke fundet