Vue d’ensemble de Microsoft.Testing.Platform
Microsoft.Testing.Platform est une alternative légère et portable à VSTest pour exécuter des tests dans tous les contextes, notamment les pipelines d’intégration continue (CI), l’interface CLI, l’Explorateur de tests Visual Studio et l’Explorateur de texte VS Code. Microsoft.Testing.Platform est intégré directement dans vos projets de test et il n’existe aucune autre dépendance d’application, telles que vstest.console
ou dotnet test
nécessaire pour exécuter vos tests.
Microsoft.Testing.Platform
est open source. Vous trouverez du code Microsoft.Testing.Platform
dans le référentiel GitHub microsoft/testfx.
Frameworks de test pris en charge
- MSTest. Dans MSTest, la prise en charge de
Microsoft.Testing.Platform
est effectuée via l’exécuteur MSTest. - NUnit. Dans NUnit, la prise en charge de
Microsoft.Testing.Platform
est effectuée par l’exécuteur NUnit. - xUnit : travail en cours, pour plus d’informations, consultez Plateforme de test Microsoft pour xUnit.
Exécuter et déboguer des tests
Les projets de test Microsoft.Testing.Platform
sont générés en tant qu’exécutables qui peuvent être exécutés (ou débogués) directement. Il n’existe aucune console ou commande supplémentaire exécutant des tests. L’application se ferme avec un code de sortie différent de zéro s’il existe une erreur, comme c’est généralement le cas avec la plupart des exécutables. Pour plus d’informations sur les codes de sortie connus, consultez codes de sortie Microsoft.Testing.Platform.
Important
Par défaut, Microsoft.Testing.Platform
collecte les données de télémétrie. Pour plus d’informations et d’options sur la désactivation, consultez Télémétrie Microsoft.Testing.Platform.
La publication du projet de test à l’aide dotnet publish
de l’application et l’exécution directe de l’application est un autre moyen d’exécuter vos tests. Par exemple, l’exécution du ./Contoso.MyTests.exe
. Dans certains scénarios, il est également viable d’utiliser dotnet build
pour produire l’exécutable, mais il peut y avoir des cas de périphérie à prendre en compte, comme AOT natif.
Utilisez dotnet run
.
La dotnet run
commande peut être utilisée pour générer et exécuter votre projet de test. C’est le plus simple, bien que parfois lent, moyen d’exécuter vos tests. L’utilisation de dotnet run
est pratique lorsque vous modifiez et exécutez des tests localement, car elle garantit que le projet de test est reconstruit lorsque nécessaire. dotnet run
recherche également automatiquement le projet dans le dossier actif.
dotnet run --project Contoso.MyTests
Pour plus d’informations sur dotnet run
, consultez dotnet run.
Utilisez dotnet exec
.
La commande dotnet exec
ou dotnet
est utilisée pour exécuter (ou lancer) un projet de test déjà généré, il s’agit d’une alternative à l’exécution directe de l’application. dotnet exec
nécessite le chemin d’accès à la dll de projet de test générée.
dotnet exec Contoso.MyTests.dll
or
dotnet Contoso.MyTests.dll
Remarque
La fourniture du chemin d’accès à l’exécutable du projet de test (*.exe) entraîne une erreur :
Error:
An assembly specified in the application dependencies manifest
(Contoso.MyTests.deps.json) has already been found but with a different
file extension:
package: 'Contoso.MyTests', version: '1.0.0'
path: 'Contoso.MyTests.dll'
previously found assembly: 'S:\t\Contoso.MyTests\bin\Debug\net8.0\Contoso.MyTests.exe'
Pour plus d’informations sur dotnet exec
, consultez dotnet exec.
Utilisez dotnet test
.
Microsoft.Testing.Platform
offre une couche de compatibilité avec vstest.console.exe
et dotnet test
, vous assurant que vous pouvez exécuter vos tests comme avant tout en activant un nouveau scénario d’exécution.
dotnet test Contoso.MyTests.dll
Options
La liste ci-dessous ne décrit que les options de la plateforme. Pour afficher les options spécifiques apportées par chaque extension, consultez la page de documentation de l’extension ou utilisez l’option --help
.
--diagnostic
Permet d’afficher la page de journalisation des diagnostics. Le niveau de journalisation par défaut est Trace
. Le fichier est écrit dans le répertoire de sortie au format de nom suivant. log_[MMddHHssfff].diag
--diagnostic-filelogger-synchronouswrite
Permet de forcer l’enregistreur d’événements de fichiers intégré à écrire des journaux de manière synchrone. Utile pour les scénarios où vous ne souhaitez perdre aucune entrée de journal (si le processus se bloque). Cela ralentit l’exécution de tests.
--diagnostic-output-directory
Le répertoire de sortie de la journalisation des diagnostics, s’il n’est pas spécifié, le fichier est généré dans le répertoire TestResults par défaut.
--diagnostic-output-fileprefix
Préfixe du nom de fichier journal. La valeur par défaut est "log_"
.
--diagnostic-verbosity
Permet de définir le niveau de verbosité lorsque le commutateur --diagnostic
est utilisé. Les valeurs disponibles sont Trace
, Debug
, Information
, Warning
, Error
ou Critical
.
--help
Affiche une description de l’utilisation de la commande.
-ignore-exit-code
Permet à certains codes de sortie non nuls d’être ignorés et d’être retournés en tant que 0
à la place. Pour plus d’informations, consultez Ignorer des codes de sortie spécifiques.
--info
Affiche des informations avancées sur l’application de test .NET, telles que :
- La plateforme.
- L’environnement.
- Chaque fournisseur de ligne de commande inscrit, tel que le sien,
name
,version
description
etoptions
. - Chaque outil inscrit, tel que le sien,
command
,name
,version
,description
et tous les fournisseurs de ligne de commande.
Cette fonctionnalité est utilisée pour comprendre les extensions qui effectuent l’inscription de la même option de ligne de commande ou les modifications apportées aux options disponibles entre plusieurs versions d’une extension (ou la plateforme).
--list-tests
Répertoriez les tests disponibles. Les tests ne seront pas exécutés.
--minimum-expected-tests
Spécifie le nombre minimal de tests censés s’exécuter. Par défaut, au moins un test est censé s’exécuter.
--results-directory
Répertoire où les résultats de test doivent être placés. Si le répertoire spécifié n’existe pas, il est créé. La valeur par défaut est TestResults
dans le répertoire qui contient l’application test.
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour