2010-11-18 30 views
0

Mon programme (serveur) se connecte à un client via un middleware.
J'ai fait une fonction d'initialisation midle-ware dans mon programme.Comment tester la fonction de contrôle de la machine ou la fonction de contrôle du middleware

init_middleware() 
{ 
    if (middle-ware can not started) // then middle-ware throw exception 
    return exception; 
    else 
    return success; 
} 

Comment puis-je tester la fonction init_middleware?

Je pense que la fonction init_middleware a juste une condition de défaillance qui est, quand le middleware ne peut pas être démarré. Mais, je ne peux pas faire que cette condition se produise dans un test unitaire.

Merci.

Répondre

3

Cela dépend de ce que vous voulez tester.

Testez la fonction

init_middleware() Si vous voulez tester la fonction init_middleware(), une option est de fournir un objet Mockmiddle-ware à la fonction. L'objet Mock renvoie la (les) valeur (s) dont vous avez besoin pour cover la fonction.

test de l'objet middle-ware

Si vous voulez tester l'objet middle-ware lui-même, il n'y a vraiment pas grand-chose à faire, mais en fait utiliser l'objet réel. Il ne s'appellerait pas un test unitaire mais un test integration ou même system.

+1

Je veux tester le premier cas. Je vais trouver Mock et étudier. Merci de votre aide. Passez une bonne journée ~ – cardbt

0

Dans les conditions de test d'unité strictes, vous ne devriez pas faire cela. Middleware est une ressource externe, tout comme votre disque, réseau même bases de données. Puisque ces choses se situent en dehors des limites de votre code (que vous testez), un vrai test unitaire ne devrait pas inclure de telles choses.

Remplacez le code d'accès du middleware par un bout, ou si vous avez besoin d'un retour d'informations réel, utilisez Mocks, comme proposé par Lieven.

+0

Merci, Gerrie Schenck! Bonne journée :) – cardbt