tutorial - unit test c#



Quelle est la meilleure façon d'effectuer des tests unitaires pour les pages Web ASP.NET 2.0? (5)

Aucune suggestion? Utilisation de Visual Studio en C #.

Existe-t-il des outils spécifiques à utiliser ou des méthodes pour aborder cela?

Mettre à jour:

Désolé, j'aurais dû être un peu plus précis. J'utilise ASP.Net 2.0 et je cherchais plutôt un outil comme jUnit for Java. J'ai regardé NUnit et NUnitAsp et ça a l'air très prometteur. Et je ne savais même pas que Visual Studio Pro avait une suite de tests, donc je vais regarder toutes ces options (je viens de commencer à utiliser Visual Studio / Asp.net / C # cet été).

https://src-bin.com


Answer #1

Boy, c'est une question assez générale. Je ferai de mon mieux, mais soyez prêt à me voir manquer un mille.

Hypothèses

  1. Vous utilisez ASP.NET, pas ASP simple
  2. Vous ne voulez pas vraiment tester vos pages Web, mais la logique derrière eux. L'unité testant les pages .ASPX réelles est plutôt douloureuse, mais il existe des cadres pour le faire. NUnitAsp en est un.

La première chose à faire est d'organiser (ou de planifier) ​​votre code pour qu'il puisse être testé. Les deux modèles de conception les plus populaires pour cela à l'époque semblent être MVP et MVC. Les deux séparent la logique de l'application de la vue afin que vous puissiez tester la logique sans que la vue (pages Web) ne vous gêne.

MVP ou MVC sera efficace. MVC a l'avantage d'avoir un framework Microsoft presque prêt à fonctionner .

Une fois que vous avez sélectionné un modèle de structure qui encourage la testabilité, vous devez utiliser un outil de test unitaire. NUnit est un bon point de départ. Visual Studio Professional dispose d'une suite de tests , mais NUnit + TestDrive.NET fonctionne également dans l'IDE.

C'est une sorte d'explosion d'information. J'espère que si ça arrive. La bibliothèque pragmatique a un bon livre couvrant le sujet .


Answer #2

Il y a environ un an, une série de screencast sur Polymorphic Podcast a fait une bonne introduction à une implémentation MVP dans ASP.NET. Mis en œuvre de cette façon, les tests unitaires se mettent en place beaucoup plus naturellement.

http://polymorphicpodcast.com/shows/mv-patterns/


Answer #3

WatiN est le meilleur que j'ai trouvé. Il s'intègre dans les tests unitaires Visual Studio ou nunit et vous pouvez faire à peu près tout ce dont vous avez besoin dans le navigateur (cliquez sur les liens, soumettre des formulaires, rechercher du texte / images, etc.), plus il est écrit en. avoir installé ruby ​​(comme vous le faites pour watir, qui est un outil génial néanmoins)


Answer #4

Ces frameworks sont utiles pour les tests d' intégration , mais ils ne peuvent pas fournir de tests unitaires, c'est-à-dire tester la vue isolée de la persistance, de la logique métier, etc.

Pour les tests unitaires Asp.Net Webforms, ainsi que MVC, vous pouvez utiliser Ivonna . Par exemple, vous pouvez simuler l'accès à votre base de données et vérifier que les enregistrements simulés sont affichés dans la grille de données. Ou vous pouvez simuler le fournisseur d'appartenances et tester le scénario connecté sans avoir à naviguer vers la page de connexion et à entrer vos informations d'identification, comme pour les tests d'intégration.






unit-testing