2012-11-13 3 views
2

J'écris un HttpModule en C#, et j'ai écrit un certain nombre de tests unitaires pour tester le code.Meilleure pratique pour les tests unitaires IHttpModule

Le module est assez simple, tout ce qu'il fait, c'est qu'il inspecte un certain nombre de cookies, et expire ceux qui doivent être expirés en fonction de notre logique métier. Mais je veux m'assurer que cela ne casse rien. Donc je veux le tester bien et minutieusement!

J'ai lu les articles sur l'utilisation de System.Web.Abstractions pour se moquer des objets de requête et de réponse. C'est génial, et ça marche! Pour plus d'informations, regardez: http://www.kongsli.net/nblog/2009/05/03/aspnet-35-improving-testability-with-systemwebabstractions/

Mais je voudrais savoir s'il y a quelque chose que j'ai vraiment besoin de tester quand il s'agit d'écrire des modules HttpModules. Quelque chose qui n'est pas directement lié à mon code de logique métier. Quelque chose à tester que je dispose du module correctement par exemple, ou quelque chose d'autre qui pourrait potentiellement casser.

Merci, JP

Répondre

2

Facile:

  1. Ne mettez pas la logique dans la mise en œuvre IHttpModule.
  2. Puisque vous ne modifiez que les cookies, il suffit de les transmettre à votre propre classe.

Exemple:

void InYourHttpModule() 
{ 
    myLogic.Invoke(Request.Cookies, Response.Cookies); 
} 

De cette façon, il est très facile de vérifier que votre logique de faire ce qu'il dit et rien d'autre.

+0

C'est ce que je fais déjà. J'aimerais juste savoir si ce serait une bonne idée de tester d'autres choses aussi. Tests d'intégration peut-être. –

+0

Pourquoi? Vous ne modifiez rien d'autre que les cookies? – jgauffin

+0

Essayer d'apprendre quelque chose ici. Pas habitué à travailler avec HttpModules, et je voulais m'assurer qu'il n'y avait pas quelque chose qui me manquait parce que je ne comprenais pas le fonctionnement de HttpModules. –

Questions connexes