Partager via


Mise à niveau des tests unitaires dans Visual Studio 2010

Visual Studio 2012 inclut la compatibilité de projet de test avec les projets de test d' Visual Studio 2010 SP1.Par exemple, les projets de test que vous avez créés avec Visual Studio 2010 SP1 peuvent être ouverts à l'aide de Visual Studio 2012 sans aucune mise à jour.Par conséquent, votre équipe peut utiliser Visual Studio 2010 SP1 et Visual Studio 2012 pour utiliser le même projet de test.Pour plus d'informations, consultez Upgrading tests from Visual Studio 2010.

Visual Studio 2012 présente plusieurs modifications du test unitaire.En raison de ces modifications, il est important de comprendre les problèmes de compatibilité entre les versions antérieures de Visual Studio et Visual Studio 2012.Parmi les modifications apportées au test unitaire, une évolution significative est qu' Visual Studio 2012 inclut plusieurs modèles de projet de test, y compris un modèle de projet de test unitaire.De nouveaux tests unitaires sont ajoutés au nouveau modèle de projet de test unitaire.Les tests unitaires peuvent également être inclus dans un autre modèle de projet de test appelé le modèle de projet de test codé de l'interface utilisateur.Pour plus d'informations sur les nouveau projets de test, consultez Mise à niveau des tests à partir de versions antérieures de Visual Studio.Les nouveaux projets de test unitaire ne sont plus un fichier de paramètres de test par défaut.En excluant le fichier de paramètres de test, les performances de vos tests unitaires améliore.Pour la compatibilité, vous pouvez toujours utiliser des projets de test existants que vous avez créés à l'aide de Visual Studio 2010.Toutefois, pour des raisons de performances, il est recommandé de supprimer le fichier de paramètres de test associé au projet de test à moins que vous ayez un besoin spécifique de ce fichier de paramètres.Par exemple, vous pouvez choisir de conserver le fichier de paramètres de test si vos tests unitaires s'exécutent dans un environnement distribué, ou si vous avez besoin de collecter des données de diagnostics spécifiques.Si vous avez un besoin semblable en utilisant le nouveau modèle de projet de test unitaire, ou le modèle de projet de test codé de l'interface utilisateur, vous pouvez ajouter manuellement un fichier de paramètres de test à ces derniers.

[!REMARQUE]

Les tests unitaires existants dans vos projets de test d' Visual Studio 2010 SP1 fonctionnent de façon transparente entre Visual Studio 2010 SP1 et Visual Studio 2012.Aucune modification n'est apportée aux fichiers de projet de test lorsqu'un projet de test Visual Studio 2010 contenant vos tests unitaires est ouvert dans Visual Studio 2012, ou vice versa.

Mise en gardeAttention

Visual Studio 2010 ne peut pas ouvrir le projet C/C++ ++/CLI qui cible l'ensemble d'outils 11,0 (autrement dit, un projet créé dans Visual Studio 2012).Cette restriction s'applique à tous les projets de C++/CLI, pas seulement projets de test unitaire de C++/CLI.

[!REMARQUE]

Vous pouvez exécuter les nouveaux tests unitaires à vstest.console.exe de la ligne de commande.Pour plus d'informations sur l'utilisation vstest.console.exe, consultez Options de ligne de commande VSTest.Console.exe, ou exécutez la commande en utilisant le commutateur d'aide suivantes : vstest.console.exe /?.Vous pouvez continuer à exécuter vos tests unitaires existants à l'aide de MStest.exe.Pour plus d'informations, consultez Comment : exécuter des tests automatisés à partir de la ligne de commande à l'aide de MSTest et Options de ligne de commande MSTest.exe.

Une autre évolution significative est l'explorateur de tests.Dans Visual Studio 2012, certaines fenêtres de test que vous devez connaître de la version antérieure de Visual Studio ont été déconseillées, telles que la fenêtre Affichage des tests.Le nouvel explorateur de tests de Visual Studio est conçu pour aider les développeurs et les équipes qui incorporent le test unitaire dans leurs méthodes de développement logiciel.Pour plus d'informations, consultez Exécution de tests unitaires avec Test Explorer.

Problème de compatibilité entre Visual Studio 2010 SP1 et Visual Studio 2012

Voici quelques questions à connaître lorsque vous effectuez des tests unitaires entre Visual Studio 2010 SP1 et Visual Studio 2012:

Fonctionnalité de test unitaire

Problème

Solution

Les listes de tests (.vsmdi) sont déconseillées dans Visual Studio 2012.

Vous ne pourrez plus créer de nouvelles listes de tests (.vsmdi) ou exécuter des listes de tests à partir de Visual Studio.

ConseilConseil
Les catégories de test offrent plus de flexibilité que la fonctionnalité des listes de tests des versions antérieures de Microsoft Visual Studio.Vous pouvez utiliser des opérateurs logiques avec les catégories de test pour exécuter des tests à partir de plusieurs catégories ou pour limiter les tests que vous exécutez à des tests qui appartiennent à plusieurs catégories.Les catégories de test sont également faciles à ajouter lors de la création de vos méthodes de test et vous n'avez pas besoin de gérer des listes de tests après la création.En utilisant des catégories de test, vous n'avez pas besoin d'archiver et d'extraire le fichier <solution name>.vsmdi qui gère les listes de tests.Pour plus d'informations, consultez Définition de catégories de test pour regrouper vos tests.

Des accesseurs private sont déconseillés dans Visual Studio 2012.

Dans les versions antérieures de Visual Studio, vous pouvez utiliser rendez publiques pour spécifier les interfaces de programmation internes (API) et pour créer l'API publique d'homologues que vous pouvez appeler dans vos tests, qui à son tour, appeler les API internes de votre produit.Vous pouvez ensuite utiliser la génération du code pour créer des stubs de test et générer l'intérieur de l'extrait de code qui déracinent.

Vous ne pourrez plus créer des accesseurs private.

  • Visual Studio 2010 projets de test compile et s'exécute dans Visual Studio 2012.La génération inclut des avertissements de sortie.

  • Si vous devez toujours tester les API internes, vous avez les options suivantes :

    • Utilisez la classe d' PrivateObject pour aider à accéder aux API internes et privées dans votre code.Cela est trouvé dans l'assembly de Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll.

    • Créez une infrastructure de réflexion qui peut refléter en dehors de votre code pour accéder aux API internes ou privées.

    • Si le code que vous tentez d'accéder est interne, vous pouvez accéder aux API à l'aide de InternalsVisibleToAttribute votre code de test peut avoir accès aux API internes.

L'impact de test est supprimée

Partage des résultats exécutés via des journaux de TRX explorateur de tests.

Vous pouvez toujours obtenir des journaux de TRX de la ligne de commande et Team Build.

Couverture du code avec les tests unitaires natifs C++

Lorsque le test unitaire c++ échoue et la couverture du code est activée, il n'y a aucune trace de la pile de l'échec.

La solution consiste à exécuter les tests unitaires C++ sans couverture du code et d'obtenir la pile des appels d'identifier le problème.

Voir aussi

Concepts

compatibilité de Visual Studio 11

Vérification du code à l'aide de tests unitaires

Mise à niveau des tests à partir de versions antérieures de Visual Studio

Mise à niveau de tests codés de l'interface utilisateur à partir de Visual Studio 2010