Partage via


Extensions de couverture de code

Cet article énumère et explique toutes les extensions Microsoft Testing Platform liées à la capacité de couverture du code.

Vous pouvez utiliser la fonctionnalité de couverture du code pour déterminer quelle proportion du code de votre projet est testée par des tests codés tels que les 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 de code Microsoft

L'analyse de la couverture de code Microsoft est possible pour le code géré (CLR) et non géré (natif). L’instrumentation statique et dynamique est prise en charge. Cette extension fait partie du package NuGet Microsoft.Testing.Extensions.CodeCoverage.

Remarque

La couverture du code non géré (natif) est désactivée par défaut dans l'extension. Utilisez les indicateurs EnableStaticNativeInstrumentation et EnableDynamicNativeInstrumentation pour l'activer si nécessaire. Pour plus d’informations sur la couverture du code non géré, consultez Instrumentation statique et dynamique native.

Important

Le package est fourni avec la bibliothèque Microsoft .NET sous un modèle de licence gratuit à utiliser et à source fermée.

Pour plus d'informations sur la couverture de code de Microsoft, consultez sa page GitHub.

Microsoft Code Coverage offre les options suivantes :

Option Description
--coverage Collectez la couverture de code à l’aide de l’outil dotnet-coverage.
--coverage-output Nom ou chemin du fichier de couverture produit. Par défaut, le fichier est TestResults/<guid>.coverage.
--coverage-output-format Format du fichier de sortie. Les valeurs prises en charge sont coverage, xml et 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 settings et samples.

Coverlet

Important

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"