Deze dagen bijna elke toepassing heeft meerdere integratie punten, zoals de database, gateway, betaling, of een webservice die het verbruikt via HTTP.
Alle communicatie met de externe systemen gebeurt via het netwerk en beide netwerken en die systemen gaan vaak wankel.
Als we niet het gedrag van ons systeem te testen wanneer de afstandsbediening einde opereert vanuit spec en gaat haywire de enige plek voor het testen wordt in productie die, zoals we allemaal weten, voor sommige systemen is minder dan acceptabel.
Omdat de oproepen naar de externe systemen gebruiken het netwerk, kan het socket-verbinding verschillende rampscenario's hebben, bijvoorbeeld:
- De afstandsbediening einde reset de verbinding door het sturen van een TCP RST pakket
- De verbinding kan worden vastgesteld, maar de reactie wordt nooit meer terug gestuurd en de verbinding wordt niet gesloten (Als u geen gebruik maken van socket time-outs in uw app kunt u in de problemen op een bepaald punt).
- De afstandsbediening einde kan wartaal verzenden als de respons
- De service kan HTML versturen via HTTP in plaats van de verwachte JSON response
- De HTTP-service kan een byte van de respons gegevens elke 30 seconden te sturen
- De afstandsbediening HTTP-service stuurt alleen headers en geen lichaam
- De service kan megabytes aan data in plaats van het verwachte kilobytes sturen
- Etc.
Het zou goed kunnen het gedrag van onze toepassing te testen wanneer sommige van deze voorwaarden gebeuren.
Cynic probeert te helpen met die testen. Eigenlijk is het een test harnas (test dubbel) die kan worden gebruikt om sluwe en slinkse externe systemen te simuleren vanaf uw command-line.
Cynicus zal moeilijk proberen om letsel veroorzaken aan uw systeem.
Het is doel is om uw systeem te testen cynisch.
Lees de geformatteerde docs op http://cynic.readthedocs.org
installatie
& Nbsp; [sudo] pip cynicus installeren
Of de bleeding edge versie van de git master branch:
& Nbsp; [sudo] pip installeren git+https://github.com/rspivak/cynic.git#egg=cynic
Requirements:
- Python
Reacties niet gevonden