Extension du Pont VSTest
Cette extension fournit une couche de compatibilité avec VSTest permettant aux infrastructures de test de continuer à prendre en charge une exécution en mode VSTest (vstest.console.exe
, dotnet test
courant, VSTest task
sur AzDo, Explorateurs de tests de Visual Studio et Visual Studio Code...). Cette extension est fournie dans le cadre du package Microsoft.Testing.Extensions.VSTestBridge.
Compatibilité avec VSTest
L’objectif principal de cette extension est de faciliter et fluidifier l’expérience de mise à niveau pour les utilisateurs VSTest, en autorisant un mode double où la nouvelle plateforme est activée, mais également, en parallèle, un mode de compatibilité est proposé pour permettre aux workflows habituels de continuer à fonctionner.
Prise en charge de Runsettings
Cette extension vous permet de fournir un fichier VSTest .runsettings, mais toutes les options de ce fichier ne sont pas récupérées par la plateforme. Nous décrivons ci-dessous les paramètres (pris en charge et non pris en charge), les options de configuration et les alternatives aux options de configuration VSTest les plus utilisées.
Lorsqu’il est activé par le framework de test, vous pouvez utiliser --settings <SETTINGS_FILE>
pour fournir le fichier .runsettings
.
Élément RunConfiguration
L’élément RunConfiguration peut inclure les éléments suivants. Aucun de ces paramètres n’est respecté par Microsoft.Testing.Platform
:
Nœud | Description | Raison / Solution de contournement |
---|---|---|
MaxCpuCount | Ce paramètre contrôle le niveau de parallélisme au niveau du processus. Utilisez 0 pour activer le parallélisme maximal au niveau du processus. | Lorsque Microsoft.Testing.Platform est utilisé avec MSBuild, cette option est déchargée sur MSBuild. Lorsqu’un exécutable unique est exécuté, cette option n’a aucune signification pour Microsoft.Testing.Platform. |
ResultsDirectory | Répertoire où les résultats des tests sont placés. Le chemin d’accès est relatif au répertoire qui contient le fichier .runsettings. | Utilisez l’option de ligne de commande --results-directory pour déterminer le répertoire dans lequel les résultats de tests seront 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. |
TargetFrameworkVersion | Ce paramètre définit la version de l’infrastructure ou la famille d’infrastructure à utiliser pour exécuter des tests. | Cette option est ignorée. Les propriétés MSBuild <TargetFramework> ou <TargetFrameworks> déterminent la version cible de .Net Framework de l’application. Les tests sont hébergés dans l’application finale. |
TargetPlatform | Ce paramètre définit l’architecture à utiliser pour exécuter des tests. | <RuntimeIdentifier> détermine l’architecture de l’application finale qui héberge les tests. |
TreatTestAdapterErrorsAsWarnings | Supprime les erreurs de l’adaptateur de test pour devenir des avertissements. | Microsoft.Testing.Platform autorise l’exécution d’un seul type de tests à partir d’un assembly unique et l’échec de chargement de l’infrastructure de test ou d’autres parties de l’infrastructure devient une erreur impossible à ignorer, car cela signifie que certains tests n’ont pas pu être découverts ou exécutés. |
TestAdaptersPaths | Un ou plusieurs chemins du répertoire où se trouvent les TestAdapters | Microsoft.Testing.Platform n’utilise pas le concept des adaptateurs de test et n’autorise pas le chargement dynamique d’extensions, sauf s’ils font partie de la build et sont inscrits dans Program.cs automatiquement via des cibles de build ou manuellement. |
TestCaseFilter | Filtre pour limiter les tests qui s’exécutent. | Pour filtrer les tests, utilisez l’option de ligne de commande --filter . |
TestSessionTimeout | Permet aux utilisateurs de mettre fin à une session de test lorsque celle-ci dépasse le délai spécifié. | Il n’existe aucune autre option. |
DotnetHostPath | Spécifiez un chemin d’accès personnalisé à l’hôte dotnet utilisé pour exécuter l’hôte test. | Microsoft.Testing.Platform n’effectue aucune résolution supplémentaire de dotnet. Cela dépend entièrement de la façon dont dotnet se résout lui-même, ce qui peut être contrôlé par des variables d’environnement telles que DOTNET_HOST_PATH . |
TreatNoTestsAsError | Quittez avec un code de sortie différent de zéro quand aucun test n’est détecté. | Microsoft.Testing.Platform va afficher une erreur par défaut lorsqu’aucun test n’est découvert ou exécuté dans une application test. Vous pouvez définir le nombre de tests que vous vous attendez à trouver dans l’assembly à l’aide du paramètre de ligne de commande --minimum-expected-tests , qui est défini par défaut sur 1. |
Élément DataCollectors
Microsoft.Testing.Platform
n’utilise aucun collecteur de données. Au lieu de cela, il a le concept d’extensions in-process et out-of-process. Chaque extension est configurée par son fichier config respectif ou par le biais de la ligne de commande.
Plus important encore, les extensions hang, crashet couverture du code.
Élément LoggerRunSettings
Les enregistreurs d’événements dans Microsoft.Testing.Platform
sont configurés au moyen de paramètres de ligne de commande ou de paramètres dans le code.
Prise en charge du filtre VSTest
Cette extension offre également la possibilité d’utiliser le mécanisme de filtrage VSTest pour découvrir ou exécuter uniquement les tests correspondant à l’expression de filtre. Pour plus d’informations, consultez la section Détails de l’option Filtre ou pour obtenir des détails propres à l’infrastructure, consultez la page Exécution de tests unitaires sélectifs.
Lorsqu’il est activé par le framework de test, vous pouvez utiliser --filter <FILTER_EXPRESSION>
.