Événements
Créer des applications intelligentes
17 mars, 23 h - 21 mars, 23 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Microsoft.Testing.Platform
est une alternative portable et légère à VSTest pour exécuter des tests dans une ligne de commande, dans des pipelines d’intégration continue (CI) dans Service Test Explorer et dans Visual Studio Code. Dans cet article, vous découvrez les principales différences entre l’exécuteur MSTest et VSTest.
Les tests sont exécutés de différentes manières en fonction de l’exécuteur.
VSTest est fourni avec Visual Studio, le kit de développement logiciel (SDK) .NET et comme outil autonome dans le package NuGet Microsoft.TestPlatform. VSTest utilise un exécutable d’exécuteur afin d’exécuter des tests. Cet exécuteur, appelé vstest.console.exe
, peut être utilisé directement ou via dotnet test
.
Microsoft.Testing.Platform est incorporé directement dans votre projet de test et ne fournit aucun autre exécutable. Lorsque vous exécutez votre exécutable de projet, vos tests s’exécutent. Pour obtenir plus d’informations sur l’exécution de tests Microsoft.Testing.Platform, consultez Vue d’ensemble de Microsoft.Testing.Platform : exécuter et déboguer des tests.
Pour vous familiariser avec Microsoft.Testing.Platform
et VSTest, il est utile de comprendre les espaces de noms et les packages NuGet utilisés par chacun d’eux.
VSTest est une collection d’outils de test, également connue sous le nom de Plateforme de test. Le code source VSTest est open source et disponible dans le référentiel GitHub microsoft/vstest. Le code utilise l’espace de noms Microsoft.TestPlatform.*
.
VSTest est extensible et les types courants sont placés dans le package NuGet Microsoft.TestPlatform.ObjectModel.
Microsoft.Testing.Platform est basé sur le package NuGet Microsoft.Testing.Platform et d’autres bibliothèques dans l’espace de noms Microsoft.Testing.*
. Comme VSTest, Microsoft.Testing.Platform
est open source et dispose d’un référentiel GitHub microsoft/testfx.
Notes
L’explorateur de tests Visual Studio prend en charge le protocole Microsoft.Testing.Platform dans les versions preview depuis la version 17.10 et les versions ultérieures. Si vous exécutez/déboguez vos tests à l’aide de versions antérieures de Visual Studio, l’Explorateur de tests utilise vstest.console.exe
et l’ancien protocole pour exécuter ces tests.
Microsoft.Testing.Platform utilise un protocole basé sur JSON RPC pour communiquer entre Visual Studio et le processus d’exécuteur de test. Le protocole est documenté dans le référentiel GitHub MSTest.
VSTest utilise également un protocole de communication json, mais il n’est pas basé sur JSON RPC.
Pour désactiver l’utilisation du nouveau protocole dans l’Explorateur de tests, vous pouvez modifier votre projet pour ajouter la propriété suivante : <DisableTestingPlatformServerCapability>true</DisableTestingPlatformServerCapability>
.
VSTest fournit plusieurs exécutables, notamment vstest.console.exe
, testhost.exe
et datacollector.exe
. Toutefois, MSTest est incorporé directement dans votre projet test et ne fournit aucun autre exécutable. L’exécutable associé par votre projet test est utilisé pour héberger tous les outils de test et effectuer toutes les tâches nécessaires à l’exécution de tests.
Outre les étapes spécifiques à votre cadre de test, vous devez mettre à jour votre infrastructure de test pour prendre en charge Microsoft.Testing.Platform
.
Les options de la ligne de commande de dotnet test
sont divisées en deux catégories : les arguments liés à la construction et ceux liés aux tests.
Les arguments liés à la build sont transmis à la commande dotnet build
et n’ont donc pas besoin d’être mis à jour pour la nouvelle plateforme. Les arguments associés à la construction sont répertoriés ci-dessous :
-a|--arch <ARCHITECTURE>
--artifacts-path <ARTIFACTS_DIR>
-c|--configuration <CONFIGURATION>
-f|--framework <FRAMEWORK>
-e|--environment <NAME="VALUE">
--interactive
--no-build
--nologo
--no-restore
-o|--output <OUTPUT_DIRECTORY>
--os <OS>
-r|--runtime <RUNTIME_IDENTIFIER>
-v|--verbosity <LEVEL>
Les arguments relatifs aux tests sont spécifiques à VSTest et doivent donc être transformés pour correspondre à la nouvelle plateforme. Le tableau suivant montre le mappage entre les arguments de VSTest et la nouvelle plateforme :
Argument VSTest | Argument de la nouvelle plate-forme |
---|---|
--test-adapter-path <ADAPTER_PATH> |
Non pris en charge |
--blame |
Non pris en charge |
--blame-crash |
--crashdump nécessite l’extension de vidage sur incident |
--blame-crash-dump-type <DUMP_TYPE> |
--crashdump-type nécessite l’extension de vidage sur incident |
--blame-crash-collect-always |
Non pris en charge |
--blame-hang |
--hangdump nécessite l’extension de vidage sur blocage |
--blame-hang-dump-type <DUMP_TYPE> |
--hangdump-type nécessite l’extension de vidage sur blocage |
--blame-hang-timeout <TIMESPAN> |
--hangdump-timeout nécessite l’extension de vidage sur blocage |
--collect <DATA_COLLECTOR_NAME> |
Dépend du collecteur de données |
-d\|--diag <LOG_FILE> |
--diagnostic |
--filter <EXPRESSION> |
Dépend du framework de test sélectionné |
-l\|--logger <LOGGER> |
Dépend de l’enregistreur |
--results-directory <RESULTS_DIR> |
--results-directory <RESULTS_DIR> |
-s\|--settings <SETTINGS_FILE> |
Dépend du framework de test sélectionné |
-t\|--list-tests |
--list-tests |
-- <RunSettings arguments> |
Non pris en charge |
Important
Avant de spécifier des arguments Microsoft.Testing.Platform
, vous devez ajouter --
pour séparer les arguments dotnet test
des nouveaux arguments de plateforme. Par exemple : dotnet test --no-build -- --list-tests
.
Si vous utilisez directement la commande vstest.console.exe
, nous vous recommandons de la remplacer par la commande dotnet test
.
Lorsque vous utilisez Visual Studio ou Visual Studio Code Test Explorateur, vous devrez peut-être activer la prise en charge de la nouvelle plateforme de test.
Visual Studio Test Explorateur prend en charge la nouvelle plateforme de test à partir de la version 17.14. Si vous utilisez une version antérieure, vous devrez peut-être mettre à jour votre Visual Studio.
Visual Studio Code Test Explorateur prend en charge la nouvelle plateforme de test à partir de la version X.
Lorsque vous utilisez les tâches Azure DevOps, il se peut que vous deviez mettre à jour votre pipeline pour utiliser la nouvelle plateforme de test.
Si vous utilisez la tâche VSTest dans Azure DevOps, vous pouvez la remplacer par la tâche .NET Core.
Si vous utilisez la tâche .NET Core, aucune modification n'est nécessaire.
Commentaires sur .NET
.NET est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Événements
Créer des applications intelligentes
17 mars, 23 h - 21 mars, 23 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantEntrainement
Module
Tests C# dans Visual Studio - Training
Commencez à tester vos applications C# à l’aide des outils de test de Visual Studio. Apprenez à écrire des tests, à utiliser l’Explorateur de tests, à créer des suites de tests et à appliquer le modèle rouge, vert, refactoriser pour écrire du code.
Certification
Microsoft Certified : Power Platform Developer Associate - Certifications
Démontrez comment simplifier, automatiser et transformer les processus et les tâches métier à l’aide de Développeur Microsoft Power Platform.