2010-05-26 9 views
6

J'ai lu sur MVC dans lequel les auteurs suggèrent que la testabilité est l'une des principales forces de MVC. Ils vont le comparer avec ASP.NET WebForms et combien il est difficile de tester le code derrière WebForms. Je comprends que c'est difficile, mais quelqu'un peut-il expliquer comment les tests unitaires ont été écrits pour tester le code derrière la logique dans l'ancien temps?Tests unitaires Code ASP.NET derrière

Répondre

3

Le code derrière sont des méthodes simples dans une classe (la seule différence avec une autre classe est que cette classe hérite de l'objet Page)

Il est testable. la plupart des problèmes se posent parce que les méthodes étaient étroitement couplées aux contrôles web.ui comme la grille; ils n'étaient pas si faciles à faire semblant. Si vous n'avez pas simulé les contrôles de l'interface utilisateur, vous avez également testé le fonctionnement interne des contrôles de l'interface utilisateur, ce qui est un peu exagéré.

5

Autrefois, je testais des formes web aspnet en utilisant le modèle Model View Presenter. J'ai été en mesure de tester le code avec ce modèle parce que j'ai extrait la logique conditionnelle/boucles/etc dans une classe distincte qui ne vivait pas dans le framework webforms. Ce qui restait dans le codebehind de webforms n'était rien de plus que quelques propriétés et un appel dans le chargement de la page pour initialiser la classe de présentateur elle-même.

Ensuite, chaque gestionnaire d'événements passerait simplement le travail à la classe de présentateur.

J'ai passé beaucoup de temps avec ce modèle et j'ai trouvé que ça rend les choses beaucoup plus faciles à tester, mais c'est beaucoup de travail comparé à aspnet mvc