Partage via


FAQ sur l’Explorateur de tests Visual Studio

Découverte de tests dynamiques

L’Explorateur de tests ne découvre pas mes tests qui sont définis dynamiquement (par exemple, les théories, les adaptateurs personnalisés, les caractéristiques personnalisées et les instructions #ifdef). Comment puis-je m’assurer qu’il découvre ces tests ?

Générez votre projet pour exécuter la découverte basée sur les assemblys.

La découverte de tests en temps réel correspond à la découverte de tests basée sur les sources. Il ne peut pas découvrir les tests qui utilisent des théories, des adaptateurs personnalisés, des caractéristiques personnalisées, des instructions #ifdef, et bien plus encore, car ils sont définis au moment de l’exécution. Une compilation est nécessaire pour que ces tests soient identifiés avec précision.

Dans Visual Studio 2017 version 15.6 et ultérieure, la découverte basée sur l’assembly (le détecteur traditionnel) s’exécute uniquement après les builds. Ce paramètre signifie que la découverte de tests en temps réel trouve autant de tests que possible pendant que vous effectuez des modifications. La détection basée sur l'assembly permet aux tests définis dynamiquement d'apparaître après une compilation.

La découverte de tests en temps réel améliore la réactivité, mais elle vous permet toujours d’obtenir des résultats complets et précis après une compilation.

Symbole plus (+) de l’Explorateur de tests

Que signifie le symbole plus qui apparaît dans la ligne supérieure de l’Explorateur de tests ?

Le signe plus (+) indique que d’autres tests peuvent être découverts après une build quand la découverte basée sur les assemblys s’exécute. Ce symbole s’affiche si des tests définis dynamiquement sont détectés dans votre projet.

Capture d’écran montrant une ligne récapitulative avec un symbole plus.

Découverte de tests en temps réel

Les tests s’affichent maintenant dans l’Explorateur de tests pendant que je tape, sans me demander de générer mon projet. Qu’est-ce qui a changé ?

Cette fonctionnalité s’appelle la découverte de tests en temps réel. Il utilise un analyseur Roslyn pour rechercher des tests et remplir l’Explorateur de tests en temps réel, sans vous obliger à générer votre projet. Pour plus d’informations sur le comportement de la découverte de tests pour les tests définis dynamiquement, par exemple les théories ou les caractéristiques personnalisées, consultez Découverte de tests dynamique plus haut dans cet article.

Compatibilité avec la découverte de tests en temps réel

Quels langages et frameworks de test peuvent utiliser la découverte de tests en temps réel ?

découverte de tests en temps réel fonctionne uniquement pour les langages managés (C# et Visual Basic), car il est généré via le compilateur Roslyn. Pour l’instant, la découverte de tests en temps réel fonctionne uniquement pour les frameworks xUnit, NUnit et MSTest.

Journaux de Test Explorer

Comment activer les journaux d’activité pour l’Explorateur de tests ?

Accédez à Outils>Options>Test et recherchez la section Journalisation.

Découverte de tests UWP

Pourquoi mes tests dans les projets UWP ne sont-ils pas découverts tant que je n’ai pas déployé mon application ?

Les tests de plateforme Windows universelle (UWP) ciblent un autre runtime lorsque l’application est déployée. Pour rechercher des tests précis pour les projets UWP, vous devez non seulement générer votre projet, mais également le déployer.

Tri dans l’Explorateur de tests

Comment le tri des résultats des tests fonctionne-t-il dans la vue hiérarchique ?

La vue hiérarchie trie les tests par ordre alphabétique, et non par résultat. Les paramètres de regroupement précédents triaient les résultats des tests par résultat, puis par ordre alphabétique. Vous pouvez toujours activer le tri par résultat en cliquant avec le bouton droit sur l’en-tête de colonne dans l’Explorateur de tests, en activant l''état colonne, puis en sélectionnant l’en-tête de colonne 'état pour appliquer le tri sur cette colonne. Vous pouvez fournir des commentaires sur la conception dans ce problème GitHub.

Vue de hiérarchie de l’Explorateur de tests

La vue de la hiérarchie inclut différentes icônes (réussite, échec, ignoré et non exécuté) en regard des regroupements parent-nœud. Que signifient ces icônes ?

Les icônes en regard des regroupements Projet, Espace de noms et Classe indiquent l’état des tests dans chaque regroupement. Consultez le tableau suivant.

table des icônes de hiérarchie de l’Explorateur de tests.

Recherches par chemin d’accès au fichier

Pourquoi n’existe-t-il plus de filtre de chemin d’accès de fichier dans la zone de recherche de l’Explorateur de tests ?

Le filtre de chemin d’accès du fichier dans la zone de recherche de l’Explorateur de tests a été supprimé dans Visual Studio 2017 version 15.7. Cette fonctionnalité avait une faible utilisation, et l’Explorateur de tests peut récupérer les méthodes de test plus rapidement en la laissant hors service. Si cette modification interrompt votre flux de développement, faites-nous part de vos commentaires sur Communauté des développeurs.

Suppression d’interfaces non documentées

Certaines API liées aux tests ne sont plus présentes dans Visual Studio 2019. Qu’est-ce qui a changé ?

Dans Visual Studio 2019, certaines API de fenêtre de test qui ont été précédemment marquées comme publiques, mais qui n’ont jamais été officiellement documentées seront supprimées. Ils ont été marqués comme déconseillés dans Visual Studio 2017 pour donner aux maintenances d’extension un avertissement précoce. À notre connaissance, très peu d’extensions ont trouvé ces API et ont pris une dépendance sur eux. Ils incluent IGroupByProvider, IGroupByProvider<T>, KeyComparer, ISearchFilter, ISearchFilterToken, ISearchTokenet SearchFilterTokenType.

Si cette modification affecte votre extension, informez-nous en soumettant un rapport de bug sur Communauté des développeurs.

Référence NuGet sur l’adaptateur de test

Pourquoi mes tests ne s’exécutent pas dans Visual Studio 2017 version 15.8, même s’ils sont découverts ?

Tous les projets de test doivent inclure leur référence NuGet de leur adaptateur de test .NET dans leur fichier .csproj. Si ce n’est pas le cas, la sortie de test suivante s’affiche sur le projet si la découverte par une extension d’adaptateur de test démarre après une build ou si vous essayez d’exécuter les tests sélectionnés :

Le projet de test {} ne fait référence à aucun adaptateur NuGet .NET. La découverte ou l’exécution des tests peuvent ne pas fonctionner pour ce projet. Il est recommandé de référencer des adaptateurs de test NuGet dans chaque projet de test .NET dans la solution.

Au lieu d’utiliser des extensions d’adaptateur de test, les projets doivent utiliser des packages NuGet d’adaptateur de test. Cette exigence améliore considérablement les performances et provoque moins de problèmes d’intégration continue. En savoir plus sur la dépréciation de l’Extension de l’adaptateur de Test .NET dans les notes de publication.

Conteneur de test UWP introuvable

Pourquoi mes tests UWP ne s’exécutent-ils plus dans Visual Studio 2017 version 15.7 et ultérieure ?

Les projets de test UWP récents spécifient une propriété de build qui permet de meilleures performances pour identifier les applications de test. Si vous avez un projet de test UWP initialisé avant Visual Studio version 15.7, vous pouvez voir cette erreur dans Sortie>Tests:

System.AggregateException : une ou plusieurs erreurs se sont produites. ---> System.InvalidOperationException : le TestContainer suivant n’a pas été trouvé {} sur Microsoft.VisualStudio.TestWindow.Controller.TestContainerProvider <GetTestContainerAsync>d__61.MoveNext()

Pour corriger cette erreur :

  • Mettez à jour la propriété de build pour vos projets de test à l’aide du code suivant :

    <UnitTestPlatformVersion Condition="'$(UnitTestPlatformVersion)' == ''">$(VisualStudioVersion)</UnitTestPlatformVersion>
    
  • Mettez à jour la version du Kit de développement logiciel (SDK) TestPlatform à l’aide du code suivant :

    <SDKReference Include="TestPlatform.Universal, Version=$(UnitTestPlatformVersion)" />
    

Fonctionnalités en préversion

Comment puis-je utiliser des fonctionnalités en préversion dans Visual Studio 2019 ?

Dans Visual Studio 2019, vous pouvez choisir d’afficher un aperçu des fonctionnalités dans Tools>Options>Environment>Preview Features.