2008-11-20 9 views
0

J'ai un petit projet qui consiste essentiellement en un wrapper Python pour une API de sites Web.Comment tester les conditions d'erreur avec du code qui interagit avec des serveurs Web distants?

Il est assez bien testé, mais il y a certaines conditions que je n'arrive pas à tester facilement: lorsque l'API distante est inaccessible ou cassée.

Plus précisément, je voudrais tout à fait comme un test pour chacun des éléments suivants:

  • Lorsque le site est inaccessible (délai d'attente de connexion)
  • Lorsque le site est accessible, mais renvoie un code d'erreur HTTP (Par exemple, une erreur 404 ou 500)
  • Le contenu est mal formé. Le site a une interface XML. Il y a quelques temps le site avait des problèmes, et la page qui aurait dû être un fichier XML était une page HTML, qui a cassé l'analyse XML

Comment pourrais-je tester ces cas? La seule chose que je peux penser est de changer l'URL de l'API à un serveur inexistant (pour le cas inaccessible), et un serveur web local pour l'erreur 500/404/données malformées

+0

Quel est le problème avec la solution que vous avez suggérée? Cela me semble parfaitement logique. – Greg

Répondre

2

L'autre réponse est de simulez le code qui effectue les appels sur le site Web et renvoyez-lui les conditions d'erreur dont vous avez besoin. Je suppose que cela signifie simuler urllib ou httplib en python

Questions connexes