Partilhar via


Extensões de cobertura de código

Este artigo lista e explica todas as extensões Microsoft Testing Platform relacionadas à função de cobertura de código.

Você pode usar o recurso de cobertura de código para determinar qual proporção do código do seu projeto está sendo testada por testes codificados, como testes de unidade. Para se proteger eficazmente contra bugs, seus testes devem exercitar ou cobrir uma grande proporção do seu código.

Cobertura de código da Microsoft

A análise de cobertura de código da Microsoft é possível tanto para código gerido (CLR) como não gerido (nativo). A instrumentação estática e dinâmica é suportada. Esta extensão é fornecida como parte de pacote Microsoft.Testing.Extensions.CodeCoverage NuGet.

Observação

A cobertura de código não gerenciado (nativo) é desabilitada na extensão por padrão. Use sinalizadores EnableStaticNativeInstrumentation e EnableDynamicNativeInstrumentation para habilitá-lo, se necessário. Para obter mais informações sobre a cobertura de código não gerenciado, consulte Instrumentação nativa estática e dinâmica.

Importante

O pacote é fornecido com a biblioteca Microsoft .NET de código fechado em modelo de licenciamento gratuito de uso.

Para obter mais informações sobre a cobertura de código da Microsoft, consulte sua página GitHub.

Microsoft Code Coverage fornece as seguintes opções:

Opção Descrição
--coverage Recolha a cobertura de código usando a ferramenta dotnet-coverage.
--coverage-output O nome ou caminho do ficheiro de cobertura produzido. Por padrão, o arquivo é TestResults/<guid>.coverage.
--coverage-output-format Formato de arquivo de saída. Os valores suportados são: coverage, xmle cobertura. O padrão é coverage.
--coverage-settings configurações de cobertura de código XML.

Para obter mais informações sobre as opções disponíveis, consulte as configurações e os exemplos.

Colcha

Importante

O pacote NuGet coverlet.collector foi projetado especificamente para VSTest e não pode ser usado com Microsoft.Testing.Platform.

Atualmente, não há nenhuma extensão do Coverlet, mas você pode usar ferramenta global do Coverlet .NET.

Supondo que você já tenha instalado a ferramenta global Coverlet, agora você pode executar:

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