O Visual Studio tem cobertura de código para testes unitários?

eu estou usando o Visual Studio 2015 Community edition, e eu sei que ele tem a opção de criar testes de unidade para testar o código, mas não vejo a opção para teste de cobertura de código, então eu gostaria de saber se o Visual Studio tem essa opção ou se eu tenho que usar um plugin.

Se tiver de usar uma solução de terceiros, seria uma boa opção?

Author: Peter Mortensen, 2015-09-03

5 answers

Só a Visual Studio 2015 Enterprise tem cobertura de código incorporada. Ver a matriz de características para mais detalhes.

Pode utilizar o OpenCover.Extensão UI para verificação de cobertura de código dentro do Visual Studio. Ele suporta MSTest, nUnit e xUnit.

A nova versão pode ser descarregada de aqui (notas de Lançamento ).

 81
Author: Toni Wenzel, 2018-07-16 19:41:55
Se estiver a usar o Visual Studio 2017 e se deparar com esta questão, pode considerar a AxoCover. É uma extensão livre VS que integra OpenCover, mas suporta VS2017 (também parece estar em desenvolvimento ativo. +1).

VS página de Extensão

Https://github.com/axodox/AxoTools

 48
Author: Gordon Bean, 2017-04-07 16:18:24

Toni's resposta é muito útil, mas eu pensei um começo rápido para iniciantes totais para testar a avaliação de cobertura (como eu sou).

Como já mencionado, as edições profissionais do Visual Studio e da comunidade não têm suporte de cobertura de teste embutido. No entanto, pode ser obtido facilmente. Vou escrever a configuração passo a passo para uso com NUnit tests dentro Visual Studion 2015 Professional.
  1. Install OpenCover componente NUGet usando NuGet interface

  2. Get opencoverui extension . Isto pode ser instalado diretamente do Visual Studio usando ferramentas - > extensões e atualizações

  3. Configure OpenCoverUI para usar os executáveis apropriados, acessando Ferramentas - > Opções - > OpenCover.Opções da IU - > geral

NUnit Path: deve apontar para o ' nunit-console.ficheiro exe. Isto só pode ser encontrado no NUnit 2.xx versão, que pode ser baixada de Aqui.

Localização de OpenCover : isto deve indicar o pacote instalado, normalmente <solution path>\packages\OpenCover.4.6.519\tools\OpenCover.Console.exe

  1. Instalar o pacote NUGet do remetente

  2. Access OpenCover Test Explorer do menu de OpenCover. Tente descobrir testes a partir daí. Se falhar, verifique as janelas de saída para mais detalhes.

  3. Verifique os resultados do OpenCover (dentro do menu OpenCover) para mais detalhes. Ele irá fornecer detalhes como a cobertura de código em uma árvore baseada em uma visão. Você também pode destacar o código isso é ou não é coberto (pequeno ícone no canto superior esquerdo).

Nota: Como mencionado, o OpenCoverUI não suporta a última versão principal do NUnit (3.x). No entanto, se nada específico para esta versão é usado dentro dos testes, ele vai trabalhar sem problemas, independentemente de ter instalado NUnit 3.xx version.

Isto cobre o início rápido. Como já mencionado nos comentários, para verificação mais avançada de configuração e automação Este artigo.
 34
Author: Alexei - check Codidact, 2017-02-24 08:36:25

Para quem procura uma solução fácil na Comunidade Visual Studio 2019, a cobertura de código fino é simples, mas funciona bem.

Ele não pode dar números precisos na cobertura precisa, mas ele vai dizer quais linhas estão sendo cobertas com calhas verdes/vermelhas.

 6
Author: Bas, 2020-08-25 19:52:01

Como já foi mencionado, pode usar a cobertura de código fino que visualiza a saída de coverlet . Se criar um xunit test project (dotnet new xunit) você irá encontrar a referência do coverlet já presente no ficheiro csproj Porque Coverlet é a ferramenta de cobertura por omissão para cada núcleo.NET e>=. Net 5 aplicações.

A Microsoft tem um exemplo usando ReportGenerator que converte a cobertura relatórios gerados pelo colcha, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Trevo, gcov ou lcov em relatórios legíveis em vários formatos.

Relatório de exemplo:

enter image description here

Enquanto o artigo se concentra em C# e xUnit como a estrutura de teste, tanto MSTest e NUnit também funcionaria.

Guia:

Https://docs.microsoft.com/en-us/dotnet/core/testing/unit-testing-code-coverage?tabs=windows#generate-reports

Se quiseres cobertura de código .ficheiros xml você poderá executar qualquer um destes comandos:

dotnet test --collect:"XPlat Code Coverage"

dotnet test /p:CollectCoverage=true /p:CoverletOutputFormat=cobertura
 0
Author: Ogglas, 2021-02-05 16:03:54