Quelle est la meilleure façon d’effectuer des tests unitaires pour les pages Web ASP.NET 2.0 ?[fermé]

StackOverflow https://stackoverflow.com/questions/4363

Question

Aucune suggestion?Utilisation de Visual Studio en C#.

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

Mise à jour:

Désolé, j'aurais dû être un peu plus précis.J'utilise ASP.Net 2.0 et je recherchais davantage un outil comme jUnit pour Java.J'ai jeté un œil à NUnit et NUnitAsp et cela semble très prometteur.Et je ne savais même pas que Visual Studio Pro disposait d'une suite de tests, je vais donc examiner toutes ces options (je viens de commencer à utiliser Visual Studio/Asp.net/C# cet été).

Était-ce utile?

La solution

Garçon, c'est une question assez générale.Je ferai de mon mieux, mais préparez-vous à me voir rater un kilomètre.

Hypothèses

  1. Vous utilisez ASP.NET, pas simplement ASP
  2. Vous ne souhaitez pas vraiment tester vos pages Web, mais le logique derrière eux.Les tests unitaires des pages .ASPX réelles sont plutôt pénibles, mais il existe des frameworks pour le faire. NUnitAsp est une.

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 à l’époque semblent être MVP et MVC.Les deux séparent le logique de l'application loin du voir afin que vous puissiez tester la logique sans que la vue (pages Web) ne vous gêne.

Soit MVP, soit MVC seront efficaces.MVC a l'avantage d'avoir un framework Microsoft presque prêt à partir.

Une fois que vous avez sélectionné un modèle de framework 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'un la suite de tests l'a construit, mais NUnit + TestDrive.NET fonctionne également dans l'EDI.

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

Autres conseils

Il y a environ un an, il y a eu une série de screencasts sur Polymorphic Podcast qui présentait une assez bonne présentation d'une implémentation MVP dans ASP.NET.Mis en œuvre de cette manière, les tests unitaires se mettent en place beaucoup plus naturellement.

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

Ces cadres sont utiles pour l'intégration tests, 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 unité tester les formulaires Web Asp.Net, 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.Vous pouvez également vous moquer du fournisseur d'adhésion et tester le scénario de connexion sans avoir à accéder à la page de connexion et à saisir vos informations d'identification, comme pour les tests d'intégration.

Watin est le meilleur que j'ai trouvé.Il s'intègre aux tests unitaires de Visual Studio ou nunit et vous pouvez faire à peu près tout ce dont vous avez besoin dans le navigateur (cliquer sur des liens, soumettre des formulaires, rechercher du texte/des images, etc.), et il est écrit en .net, vous n'en avez donc pas besoin avoir Ruby installé (comme vous le faites pour Watir, qui n'en est pas moins un outil génial)

Jeter un coup d'œil à http://selenium.openqa.org/ il offre un bon moyen automatisé de créer des tests unitaires connectés au navigateur.il existe un joli plugin Firefox pour enregistrer les tests et peut utiliser presque n'importe quel framework de tests unitaires.Nous avons eu une présentation/démo lors de la réunion de notre groupe d'utilisateurs local le mois dernier et cela avait l'air génial.

Votre meilleur pari est de séparer la logique du modèle de la présentation et de tester minutieusement le modèle avec NUnit ou similaire.Tester l’interaction des utilisateurs avec la page Web peut s’avérer fastidieux.

Si vous souhaitez réellement tester l'interaction des utilisateurs avec la page Web, certains des outils mentionnés ci-dessus, tels que waitn, semblent bons, un ajout à celui dont j'ai entendu parler est Sélénium

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top