Test unitaire succinct Outils de test unitaire

Ceci est un extrait de l'eBook Unit Testing Succinctly de Marc Clifton, gracieusement fourni par Syncfusion..

NUnit

NUnit a été porté à l'origine à partir de JUnit en tant que moteur de test unitaire à source ouverte, fournissant une suite complète d'attributs de test, de méthode et de variable, ainsi que des assertions de test. La documentation de toutes les versions de NUnit est disponible ici. NUnit est toujours en cours de maintenance. La dernière version stable au moment de la rédaction de cet article est la version 2.6.2, publiée le 22 octobre 2012..


CSUnit

Le CSUnit est un moteur de test unitaire plus léger. Notez qu'il ne semble pas être maintenu, car la dernière version date de mars 2009. Il offre un ensemble d'attributs minimal mais fonctionnel à utiliser pour définir les montages de test et les méthodes de test..


Projet de test Visual Studio

Visual Studio offre la possibilité de créer des projets de test directement dans l'EDI. L’un des problèmes découverts par l’auteur est que l’interface utilisateur a changé entre VS 2008 et VS 2012:

Interface utilisateur des résultats de test de Visual Studio 2008

VS2008 UI Résultats des tests

Dans VS2008, l'exécution du test s'exécute très rapidement et affiche une liste de résultats de test facile à lire et, pour les tests ayant échoué, le message d'erreur fournissant des informations sur les raisons de l'échec du test..

En outre, lorsque le projet de test est le projet actif, l'exécution des tests (ou leur débogage) est identique à celle de n'importe quelle autre application. Vous pouvez les exécuter avec Ctrl + F5 (exécution) ou F5 (débogage)..

Interface utilisateur des résultats de test de Visual Studio 2012

Résultats des tests VS2012

Dans VS2012, le lanceur de test prend plusieurs secondes pour s’initialiser. Pire, les messages associés à un résultat de test sont obtenus en cliquant sur l'échec. L'exigence de clic supplémentaire est un problème d'utilisation important. En raison de la modification de l'affichage des échecs, Visual Studio 2008 a été utilisé pour les captures d'écran tout au long de ce livre..

Enfin, le programme d'exécution de test n'est plus lancé par les mêmes touches de raccourci qu'une application classique. Au lieu de cela, le développeur doit utiliser Ctrl + R, A pour exécuter les tests. Il n'y a pas de raccourci clavier mappé pour déboguer les tests unitaires.

Intégration de Visual Studio et NUnit

Microsoft fournit des outils d'intégration pour NUnit pour Visual Studio 2010 (http://visualstudiogallery.msdn.microsoft.com/c8164c71-0836-4471-80ce-633383031099) et 2012 (http://visualstudiogallery.msdn.microsoft.com/6ab922d0 -21c0-4f06-ab5f-4ecd1fe7175d), mais au moment d'écrire ces lignes, l'adaptateur de test Visual Studio 2012 NUnit est une version bêta 3-2.


Autres outils de test unitaire

Il existe quelques autres moteurs de test qui méritent d'être mentionnés ici..

MSTest

MSTest (http://msdn.microsoft.com/en-us/library/ms182489 est la version en ligne de commande du programme d'exécution de test de Microsoft..

MbUnit / Gallio

MbUnit et Gallio sont étroitement liés. Gallio est une plate-forme d’automatisation des tests vous permettant d’intégrer divers cadres de test et outils de reporting. C'est un outil sophistiqué qui mérite d'être exploré une fois familiarisé avec les principes de tests unitaires et autres moteurs..

Microsoft Test Manager

Microsoft Test Manager est un outil de planification, de gestion et d'exécution de tests, manuel ou automatique. Microsoft Test Manager s'intègre au suivi des bogues, permet de rédiger des notes associées à vos tests et vous permet de configurer des ordinateurs de laboratoire virtuels pouvant être réinitialisés à un état connu avant l'exécution des tests..

FsUnit

FsUnit est un moteur de test facilitant l'utilisation du langage F #..


Cadres de test d'intégration

Les tests unitaires sont conçus pour valider l'exactitude des unités de code de calcul. Les tests d'intégration sont conçus pour tester le comportement de l'interface utilisateur.

NB

Pour les lecteurs familiarisés avec Ruby, NBehave est l'un des premiers prototypes de fonctionnalités similaires à Cucumber, dans la mesure où ils écrivent des tests comportementaux. Les tests sont écrits en langage naturel, par exemple (ces deux exemples proviennent du site Web GitHub NBehave):

Scénario: Connexion fournie Je ne suis pas connecté Lorsque je me connecte en tant que Morgan avec un mot de passe SecretPassw0rd Ensuite, un message "Bienvenue, Morgan!" Devrait s'afficher.

et les méthodes implémentent les phrases (qui peuvent bien sûr être réutilisées):

[Given ("je ne suis pas connecté")] public void LogOut () …

N'oubliez pas qu'il ne s'agit pas de tests unitaires, mais facilite un paradigme appelé développement basé sur le comportement et est mentionné ici pour illustrer d'autres formes de tests qui complètent les tests unitaires..