Compartir a través de


Extensiones de cobertura de código

En este artículo se enumeran y se explican todas las extensiones Microsoft.Testing.Platform relacionadas con la funcionalidad de cobertura de código.

Puede usar la característica de cobertura de código para determinar qué proporción del código del proyecto se está probando mediante pruebas codificadas, como pruebas unitarias. Para protegerse con eficacia los errores, las pruebas deberían ensayar o cubrir una proporción considerable del código.

Cobertura de código de Microsoft

El análisis de cobertura de código de Microsoft es posible para código administrado (CLR) y no administrado (nativo). Se admite la instrumentación estática y dinámica. Esta extensión se incluye como parte del paquete NuGet Microsoft.Testing.Extensions.CodeCoverage.

Nota:

La cobertura de código no administrado (nativo) está deshabilitada en la extensión de manera predeterminada. Use las marcas EnableStaticNativeInstrumentation y EnableDynamicNativeInstrumentation para habilitarla si es necesario. Para obtener más información sobre la cobertura de código no administrado, consulte Instrumentación Nativa Estática y Dinámica.

Importante

El paquete se envía con la biblioteca Microsoft .NET, que tiene un modelo de licencia de código cerrado y de uso gratuito.

Para obtener más información acerca de la cobertura de código de Microsoft, consulte su Página de GitHub.

Microsoft Code Coverage proporciona las siguientes opciones:

Opción Descripción
--coverage Recopile la cobertura de código mediante la herramienta dotnet-coverage.
--coverage-output Nombre o ruta de acceso del archivo de cobertura generado. De forma predeterminada, el archivo es TestResults/<guid>.coverage.
--coverage-output-format Formato del archivo de salida. Los valores admitidos son: coverage, xml y cobertura. El valor predeterminado es coverage.
--coverage-settings Configuración de cobertura de código XML.

Para obtener más información sobre las opciones disponibles, consulte la configuración y los ejemplos .

Nota:

El valor predeterminado de IncludeTestAssembly en Microsoft.Testing.Extensions.CodeCoverage es false, mientras que solía estar true en VSTest. Esto significa que los proyectos de prueba se excluyen de forma predeterminada. Para obtener más información, consulte Configuración de cobertura de código.

Cubrecama

Importante

El paquete NuGet de coverlet.collector está diseñado específicamente para VSTest y no se puede usar con Microsoft.Testing.Platform.

Actualmente no hay ninguna extensión Coverlet, pero puede usar la herramienta global Coverlet .NET.

Suponiendo que ya ha instalado la herramienta global Coverlet, ahora puede ejecutar:

coverlet .\bin\Debug\net8.0\TestProject2.dll --target "dotnet" --targetargs "test .\bin\Debug\net8.0\TestProject2.dll --no-build"