2009-09-02 9 views
1

J'ai un assemblage qui enveloppe les fonctionnalités d'un service Web en direct externe.Test d'un wrapper de service Web

Comment puis-je tester ce service Web efficacement? Dois-je créer un talon du service Web ou dois-je écrire des tests qui envoient et reçoivent des données en direct sur le service Web? Le problème que j'ai avec la deuxième approche est que si j'envoie et j'attends de vraies données du service Web alors je ne peux pas affirmer les résultats chaque fois qu'ils pourraient changer!

Répondre

1

Si l'encapsuleur ne transmet que les appels aux services Web sans aucune logique conditionnelle, il est inutile de créer des tests qui ne passent pas par le service Web réel. Dans ce cas, vous devez créer un test pour chaque opération, qui ne doit tester que la capacité à atteindre le service Web et revenir sans erreurs inattendues. Les données renvoyées n'ont vraiment aucune importance. Ceci est un test d'intégration entre votre wrapper et le service Web. Si votre encapsuleur inclut une logique conditionnelle, il peut être judicieux de créer des tests qui exercent tous les chemins. Il sera plus facile de tester ces cas si vous ne dépendez pas du vrai service web.

Pour tester le code client (le code qui appelle l'encapsuleur), vous devez stub le wrapper ou stub le service Web. Cela vous donnera le contrôle dont vous avez besoin pour garantir que le client reçoit toujours la même sortie avec la même entrée.