Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Cet article répertorie et décrit toutes les extensions Microsoft.Testing.Platform liées à la fonctionnalité de couverture du code.
Vous pouvez utiliser la fonctionnalité de couverture du code pour déterminer la proportion du code de votre projet testée par des tests codés tels que des tests unitaires. Pour apporter une protection efficace contre les bogues, vos tests doivent s’effectuer sur ou couvrir une proportion importante de votre code.
Couverture du code Microsoft
L’analyse de la couverture du code Microsoft est possible pour le code managé (CLR) et non managé (natif). L’instrumentation statique et dynamique est prise en charge. Cette extension est fournie dans le cadre de Microsoft.Testing.Extensions.CodeCoverage package NuGet.
Remarque
La couverture du code non managé (native) est désactivée par défaut dans l’extension. Utilisez des indicateurs EnableStaticNativeInstrumentation et EnableDynamicNativeInstrumentation pour l’activer si nécessaire.
Pour plus d’informations sur la couverture de code non managé, consultez Instrumentation native statique et dynamique.
Importante
Le package est fourni avec la bibliothèque Microsoft .NET sous un modèle de licence à code source fermé, gratuit à employer.
Pour plus d’informations sur la couverture du code Microsoft, consultez sa page GitHub.
La couverture du code Microsoft fournit les options suivantes :
| Choix | Descriptif |
|---|---|
--coverage |
Utilisez l'outil dotnet-coverage pour collecter la couverture de code. |
--coverage-output |
Nom ou chemin du fichier de couverture produit. Par défaut, le fichier est TestResults/<guid>.coverage. |
--coverage-output-format |
Format de fichier de sortie. Les valeurs prises en charge sont les suivantes : coverage, xmlet cobertura. La valeur par défaut est coverage. |
--coverage-settings |
Paramètres de couverture du code XML.. |
Pour plus d’informations sur les options disponibles, consultez les paramètres et les exemples .
Remarque
La valeur par défaut de IncludeTestAssembly dans Microsoft.Testing.Extensions.CodeCoverage est false, au lieu de true dans VSTest. Cela signifie que les projets de test sont exclus par défaut. Pour plus d'information, voir Configuration de la couverture de code.
Compatibilité des versions
Le tableau suivant montre la compatibilité entre différentes versions de Microsoft.Testing.Extensions.CodeCoverage et Microsoft.Testing.Platform :
| Microsoft.Testing.Extensions.CodeCoverage | Microsoft.Testing.Platform |
|---|---|
| 18.1.x | 2.0.x |
| 18.0.x | 1.8.x |
| 17.14.x | 1.6.2 |
Remarque
Pour obtenir la meilleure compatibilité et les fonctionnalités les plus récentes, il est recommandé d’utiliser les dernières versions des deux packages ensemble.
Couvre-lit
Importante
Le package NuGet coverlet.collector est conçu spécifiquement pour VSTest et ne peut pas être utilisé avec Microsoft.Testing.Platform.
Il n’existe actuellement aucune extension Coverlet, mais vous pouvez utiliser Coverlet .NET global tool.
En supposant que vous avez déjà installé l’outil global Coverlet, vous pouvez maintenant exécuter :
coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"