Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
MTP est fourni avec des fonctionnalités intégrées et peut être étendu via des packages NuGet.
Lorsque vous utilisez Microsoft.Testing.Platform.MSBuild (inclus transitivement par MSTest, NUnit et les exécuteurs xUnit), l’installation d’un package NuGet d’extension est tout ce dont vous avez besoin : les extensions sont automatiquement détectées et inscrites, et le point d’entrée est généré pour vous.
Si vous désactivez le point d’entrée généré automatiquement en définissant <GenerateTestingPlatformEntryPoint>false</GenerateTestingPlatformEntryPoint>, vous devez inscrire manuellement des extensions dans votre Main méthode. Chaque page d’extension documente l’appel d’inscription manuel.
Les extensions qui nécessitent un package NuGet sont fournies avec leur propre modèle de licence (certains moins permissifs), veillez à faire référence à la licence associée aux extensions que vous souhaitez utiliser.
Certaines extensions sont expérimentales : leurs API sont annotées avec le TPEXP diagnostic et peuvent changer dans une prochaine version. Vous devez donc reconnaître le diagnostic pour les utiliser. Les extensions expérimentales sont marquées (expérimentales) dans les listes suivantes.
Commencer ici
Utilisez le chemin suivant en fonction de votre objectif :
- Recherchez des commutateurs de ligne de commande en un seul endroit : référence sur les options CLI MTP.
- Ajoutez des fonctionnalités à vos exécutions de test : utilisez les pages de fonctionnalités de cet article.
- Créez votre propre extension : architecture MTP, points d’extension et services.
Choisir par scénario
- Besoin de personnaliser la sortie du terminal : sortie du terminal (intégrée)
- Besoin de rapports TRX ou Azure DevOps : rapports de test Test (extension)
- Besoin d’une sortie native pour GitHub Actions (groupes de logs, annotations et résumé de tâche) : rapport GitHub Actions (extension)
- Besoin de données de couverture : Couverture du code (extension)
- Besoin de diagnostics de plantage ou de blocage : vidages de mémoire de plantage et de blocage (extension)
- Vous devez enregistrer l’écran pendant une exécution : Diagnostics (extension, expérimental)
- Déployer et lancer un hôte de test empaqueté à confiance totale, UWP ou AppContainer : Déploiement de l’hôte de test (extension ; API de lanceur expérimentale)
- Besoin de réutiliser
Microsoft.Extensions.Configuration,Microsoft.Extensions.HostingouMicrosoft.Extensions.Logging: Microsoft. Intégration des extensions (extension, expérimentale) - Besoin de générer l’éditeur ou l’intégration de l’IDE : mode serveur (intégré)
- Besoin de charger des extensions qui ne sont pas des références à la compilation : chargement dynamique d’extensions (intégré, activable)
- Besoin de réessayer les tests ayant échoué : réessayer (extension)
- Besoin d'une prise en charge du rechargement à chaud : Rechargement à chaud (extension)
- Besoin du support Microsoft Fakes : Microsoft Fakes (extension)
- Besoin des traces et des métriques d'OpenTelemetry : (extension)
- Vous devez fournir des clients de conversation IA à une infrastructure de test ou une extension : intégrations IA (extension, expérimentale)
- Collecte et désactivation des données de télémétrie : télémétrie (extension)
Fonctionnalités intégrées
Ces fonctionnalités font partie de la plateforme principale et ne nécessitent pas de packages NuGet supplémentaires.
Rapports d’état et de progression sur le terminal : modes de sortie, prise en charge ANSI et indicateurs de progression.
Testez la découverte et l’exécution à partir d’un éditeur, d’un IDE ou d’un autre outil via JSON-RPC.
Chargement d’extension dynamique
Charger explicitement les composants d’extension déclarés dans des manifestes JSON lorsqu’une exécution l’active explicitement.
Fonctionnalités d’extension
Ces fonctionnalités nécessitent l’installation de packages NuGet.
Générez des fichiers de rapport de test (TRX, HTML, JUnit, CTRF, Azure DevOps, GitHub Actions).
Collectez les données de couverture du code pendant l’exécution du test.
Collectez les fichiers de vidage de processus lorsque l’hôte de test se bloque ou cesse de répondre.
Émettre des traces et des métriques via OpenTelemetry pendant les exécutions de test.
Intégrations d’IA (expérimentales )
Fournissez des clients de conversation IA neutres pour le fournisseur pour tester les frameworks et les extensions, notamment via Azure AI Foundry.
Réessayez les tests ayant échoué avec des stratégies configurables.
Exécutez des tests avec le support du rechargement à chaud pour une itération rapide.
Exécutez des tests qui utilisent Microsoft Fakes pour les stubs et les shims.
Collecte de données de télémétrie. Découvrez comment désactiver et quelles données sont collectées.
Diagnostics (expérimental, introduit dans MTP 2.3.0)
Recueillez des éléments de preuve pour diagnostiquer une exécution, par exemple en enregistrant l’écran avec l’enregistreur vidéo.
Déploiement de l’hôte de test (introduit dans MTP 2.3.0 ; API de package stable à partir de MTP 2.4.0 ; API de lanceur expérimental ; Prise en charge UWP et AppContainer introduite dans MTP 2.5)
Contrôlez comment et où l’hôte de test est déployé et lancé, y compris les hôtes de test empaquetés de type full-trust, UWP et AppContainer.
Microsoft. Intégration des extensions (expérimentale ; journalisation introduite dans MTP 2.3.0 ; configuration et hébergement introduits dans la préversion MTP 2.5)
Connectez MTP aux Microsoft.Extensions.* bibliothèques que votre application utilise déjà, notamment les captures instantanées de la configuration, les hôtes gérés par l’application et le transfert des journaux de diagnostic.