O dotCover é uma ferramenta de teste de unidade e de cobertura de código .NET. que funciona diretamente no Visual Studio e no JetBrains Rider, ajuda você a saber até que ponto seu código é coberto por testes de unidade, oferece ótimas maneiras de visualizar a cobertura do código e está pronto para integração contínua. O dotCover calcula e relata a cobertura de código no nível da instrução em aplicativos direcionados para .NET Framework, .NET Core, Mono e Mono for Unity.
O dotCover é um plug-in para o Visual Studio e o JetBrains Rider, oferecendo a vantagem de analisar e visualizar a cobertura do código sem sair do editor de código. Isso inclui a execução de testes de unidade e a análise dos resultados de cobertura diretamente nos IDEs, bem como o suporte para diferentes temas de cores, novos ícones e menus.
O dotCover oferece suporte ao Visual Studio 2010 — 2019 e ao JetBrains Rider 2018.2 ou posterior.
Como parte do Visual Studio ou do JetBrains Rider no Windows, o dotCover oferece suporte a projetos direcionados a qualquer versão compatível do .NET Framework, .NET Core, .NET, Mono 5.10 ou posterior e Unity 2018.3 ou posterior. No macOS e no Linux, o dotCover pode ser usado apenas como parte do JetBrains Rider.
O dotCover é fornecido com um executor de teste de unidade que ele compartilha com outra ferramenta da JetBrains para desenvolvedores .NET: o ReSharper.
O executor trabalha no Visual Studio/JetBrains Rider, permite gerenciar testes de unidade por meio de sessões e oferece suporte a várias estruturas de teste de unidade, como MSTest, NUnit, xUnit (tudo pronto para uso) e MSpec (via plug-in).
O dotCover oferece suporte a testes contínuos: um moderno workflow de testes de unidade, no qual o dotCover descobre dinamicamente quais testes de unidade são afetados pelas suas alterações mais recentes de código e repete automaticamente a execução dos testes afetados.
Com base nas suas preferências, o dotCover pode executar testes afetados ao salvar um arquivo, ao criar sua solução ou assim que você explicitamente solicitar ao dotCover.
O modo de teste contínuo pode ser ativado para qualquer sessão de teste de unidade: dessa forma, você pode escolher quais testes deseja executar continuamente e quais executar de maneira tradicional.
Um dos principais casos de uso do dotCover é analisar a cobertura de testes de unidade, ou seja, descobrir quais partes da lógica de negócios de um aplicativo são cobertas por testes de unidade e quais não são.
Juntamente com os resultados da execução de testes de unidade, o dotCover exibe uma árvore de cobertura mostrando com que profundidade um determinado projeto, namespace, tipo ou membro de tipo está coberto com testes de unidade.
Para visualizar dados de cobertura, o dotCover pode realçar linhas de código diretamente no editor de código. Há uma opção para alternar entre realçar marcadores e o plano de fundo colorido ou para exibir os dois.
Observe que o realce mostra não apenas o código coberto e descoberto, mas também os resultados de se cobrir os testes de unidade. A cor verde significa que os testes são aprovados, enquanto a cor vermelha indica que pelo menos um teste que cobre a instrução falhou. A cor cinza mostra um código descoberto.
O dotCover fornece um comando (e um atalho de teclado) para detectar quais testes cobrem um local específico no código, seja uma classe, um método ou uma propriedade.
Você pode chamar o comando no editor de texto do Visual Studio ou na visualização Coverage Tree do dotCover.
Você pode navegar de um pop-up que lista testes de cobertura até qualquer um desses testes. Além disso, você pode executá-los instantaneamente ou adicionar a uma sessão de testes de unidade existente.
A visualização Hot Spots foi projetada para ajudar a identificar os métodos mais arriscados na sua solução. Hot Spots são calculados em termos de alta complexidade ciclomática e baixa cobertura de testes de unidade dos métodos.
Às vezes, você não deseja conhecer os dados de cobertura por toda a solução. Por exemplo, você pode não estar interessado nas estatísticas de cobertura do código marcado com ObsoleteAttribute
ou em um projeto herdado específico.
Nesse caso, é possível definir filtros de cobertura globais ou específicos da solução com base em nomes de projeto, namespace, tipo ou membro do tipo. Também estão disponíveis filtros de atributos que restringem a coleta de informações de cobertura ao código marcado (ou não marcado) com determinados atributos.
Como alternativa aos filtros configurados com antecedência ou aplicados a qualquer solução aberta, você pode excluir itens dos resultados da cobertura enquanto trabalha com eles.
Quando você já tiver coletado dados de cobertura, poderá optar por excluir um nó específico da árvore de cobertura (e, opcionalmente, criar um filtro de cobertura permanente). Assim que você fizer isso, o dotCover recalculará instantaneamente as estatísticas de cobertura.
O dotCover ajuda a processar dados de cobertura da maneira que você precisa.
A exportação para vários formatos, incluindo HTML, XML, JSON e XML para NDepend, permite compartilhar relatórios de cobertura com o restante da equipe ou passar informações de cobertura para serviços externos.
Como alternativa à cobertura de testes de unidade, o dotCover pode executar análises de cobertura em aplicativos .NET executados no Visual Studio.
Isso permite que um engenheiro de controle de qualidade execute um cenário de caso de uso e examine quais partes do código foram realmente executadas durante esse caso de uso. O processo de salvar e mesclar snapshots de cobertura é compatível com a execução de casos de teste não triviais.
O dotCover é ideal para servidores de integração contínua, o produto mais destacado da JetBrains: o TeamCity.
Antes de tudo, por meio do suplemento TeamCity no Visual Studio, o dotCover é capaz de obter dados de cobertura de uma servidor TeamCity — sem executar a análise de cobertura em uma máquina local.
Por outro lado, o mecanismo de análise de cobertura do dotCover é fornecido com uma versão gratuita do TeamCity, que ajuda a agendar execuções de cobertura como parte do processo de integração contínua e a gerar relatórios de cobertura no lado do servidor. O TeamCity entende a saída do executor do console dotCover e realça seus erros e avisos no log de compilação.
Avaliação gratuita por 30 dias disponível