Carregue ficheiros lcov, llvm-cov JSON, Cobertura, JaCoCo, Istanbul, SimpleCov, Clover, OpenCover, coverage.py, gcov, Go, Coveralls, SonarQube, GNATcoverage, Bullseye, Visual Studio, Xcode, VectorCAST, Testwell CTC++, TRACE32, EMMA, UCIS/UCDB, NCover e dotCover, normalize-os num único modelo canónico, funda execuções de forma determinista e leia o resultado diretamente nas margens do editor — no VS Code, e no Visual Studio 2022 e 2026 em qualquer edição. Sem um visualizador à parte pelo qual sair do seu editor.
Comece grátis. O Fucini Coverage Studio funciona gratuitamente durante um período de teste de 14 dias, com tudo desbloqueado. Depois não o bloqueia: passa para o plano Community gratuito — todas as funcionalidades exceto MC/DC, com limites mensais generosos em algumas. Mude de plano quando quiser para obter o conjunto sem restrições, ou desbloqueie tudo gratuitamente partilhando telemetria de utilização detalhada. Ver planos →
A seguir: toda esta cobertura no Azure DevOps, numa extensão gratuita. O Azure DevOps mostra a cobertura de uma compilação só até onde o seu próprio formato chega — linhas, e ramos como percentagem. O Fucini DevOps Studio mostrará tudo o que o Coverage Studio lê: cada um destes 25 formatos, para cada linguagem, com MC/DC, condições, a pontuação composta e os gates, como um separador Coverage no pipeline que a produziu. Siga as novidades para a primeira versão.
Screenshot pending — add assets/img/hero.png (see SCREENSHOTS.md).Quando foi uma IA a escrever os testes
Um modelo de linguagem escreve-lhe uma suite de testes em segundos, e lê-se de forma convincente. O que não lhe pode dizer é se esses testes chegam a algo que importe — e a cobertura de linhas também não, porque um teste sem qualquer asserção acende à mesma todas as linhas que toca.
MC/DC e cobertura de ramos mostram se cada decisão foi de facto exercida, não apenas se a linha foi alcançada. Os testes gerados seguem o caminho feliz e deixam intocado o outro lado de cada if — o que se lê como 100% de linhas e 50% de ramos. Essa diferença é o achado.
A deteção de código morto lista as funções que nenhum teste alcançou. Uma suite gerada nomeia-as nos títulos e nunca lá chega, o que é invisível numa execução verde.
A cobertura de diff mede apenas o que mudou face a uma base git, por isso «os testes passam» torna-se «o código que acabou de aceitar está testado». Funciona da mesma forma, quer o tenha escrito uma pessoa ou um assistente.
Nada disto prova que um teste é bom — nada o pode provar. Diz-lhe, com precisão e linha a linha, o que nunca foi executado: a parte que um revisor não consegue reter de cabeça e que um assistente não refere por iniciativa própria. Funciona com TypeScript e JavaScript através de Vitest, Jest ou nyc, e com C, C++, Java e Ruby através dos tracefiles que essas toolchains já produzem.
O que nos distingue
LCOV, llvm-cov JSON, Cobertura, JaCoCo, Istanbul/nyc, SimpleCov, Clover, OpenCover, coverage.py, gcov JSON e texto simples, Go, Coveralls, SonarQube, GNATcoverage, Bullseye, Visual Studio, Xcode, VectorCAST, Testwell CTC++, TRACE32, EMMA, UCIS/UCDB, NCover e dotCover — detetados automaticamente e combinados de forma determinística com proveniência registada.
Indicadores de linha, ramo e função, a régua de visão geral, emblemas do Explorador e a vista Covered Files.
Modified Condition/Decision Coverage, cobertura de regiões e instanciações C++ do llvm-cov, com detalhe por decisão ao passar o cursor.
Uma única média harmónica ponderada em todas as métricas, com pesos alinhados aos níveis IEC 61508 / ISO 26262 / DO-178C.
Veredictos COMPLIANT / NON-COMPLIANT com limiares por métrica e modos strict, whm, both ou either.
Restrinja as decorações às linhas alteradas em relação a uma referência base do git — perfeito para rever exatamente o que um PR cobriu ou não.
Fucini Coverage: Run Tests with Coverage. Reconhece vitest, jest, pytest, go, cargo, dotnet, maven, gradle, phpunit e ctest, executa os seus testes com a cobertura ativa e carrega o que escrevem. Já tem um ficheiro de trace? Fucini Coverage: Pick Coverage File carrega-o e memoriza-o.Requer VS Code ≥ 1.88, ou Visual Studio 2022 ou 2026 — Community, Professional ou Enterprise — mais um ficheiro de rastreio de cobertura que o seu projeto já produz. No Visual Studio 2022 a cobertura integrada é só para o Enterprise; o Coverage Studio para Visual Studio mostra-a também no Community e no Professional, a partir do ficheiro que a sua build já escreve.
O próprio VS Code e várias extensões gratuitas também mostram cobertura. Isto é o que a documentação de cada um diz que faz, em setembro de 2026 — quando um README não menciona algo, a tabela di-lo em vez de adivinhar.
| Fucini Coverage Studio | VS Code, integrado | Coverage Gutters | Code Coverage (markis) | Gcov Viewer | |
|---|---|---|---|---|---|
| De onde vem a cobertura | 25 formatos de ficheiro de trace, mais relatórios de mutação do PIT e do Stryker | uma extensão de testes que reporta cobertura | ficheiros lcov e XML | ficheiros lcov | ficheiros .gcda do GCC, através do gcov |
| Linhas não cobertas no editor | ✓ | ✓ | ✓ | ✓, e em Problems | ✓ |
| Cobertura de ramos, por ramo | ✓ | quando a extensão de testes a reporta | não descrito | não descrito | não descrito |
| MC/DC | ✓ (Pro) | — | não descrito | não descrito | não descrito |
| Vários ficheiros de trace combinados, e qual cobriu cada linha | ✓ | — | suporta vários ficheiros | não descrito | não descrito |
| Recarrega quando o ficheiro de trace muda | ✓ | mostra a última execução de testes | ✓ | não descrito | não descrito |
| Cobertura de alterações, limiares e histórico | ✓ | cobertura mostrada no editor de diferenças | não descrito | não descrito | não descrito |
| Relatório HTML | gerado, alojado por si | — | pré-visualiza um existente | não descrito | não descrito |
| Cobertura para agentes de IA: ferramentas de modelo de linguagem e um servidor MCP | ✓ | não descrito | não descrito | não descrito | não descrito |
| Os testes que executaram uma linha, e os testes afetados pelas suas alterações | ✓ | cobertura por teste, quando a extensão de testes a reporta | não descrito | não descrito | não descrito |
| Resultados de testes de mutação no editor | ✓ (PIT, Stryker) | não descrito | não descrito | não descrito | não descrito |
| Um limiar para código novo | ✓ | não descrito | não descrito | não descrito | não descrito |
| Os mesmos números no Visual Studio e na linha de comandos | ✓ | — | não descrito | não descrito | não descrito |
Não é uma escolha entre isto e a vista do VS Code: cada carregamento é também publicado no painel nativo Test Coverage, com o filtro por teste incluído. Algo aqui está desatualizado? Diga-nos na página de contacto.
| Formato | Ficheiro típico |
|---|---|
| LCOV | lcov.info, *.info |
| llvm-cov JSON | llvm-cov export --format=json |
| Cobertura XML | coverage.xml |
| JaCoCo XML | jacoco.xml |
| Istanbul / nyc | coverage-final.json |
| SimpleCov (Ruby) | .resultset.json, coverage.json |
| Clover XML | clover.xml |
| OpenCover XML | coverage.opencover.xml |
| coverage.py JSON | coverage.json (coverage json) |
| gcov / gcovr JSON | gcov --json-format --stdout, gcovr --json |
| Go coverage profile | coverage.out |
| SonarQube generic | <coverage version="1"> XML |
| GNATcoverage XML (Ada) | gnatcov coverage --annotate=xml |
| BullseyeCoverage XML | covxml output |
| Visual Studio | .coveragexml (dotnet-coverage convert) |
| Coveralls JSON | coveralls.json |
| Xcode xccov JSON | xcrun xccov view --report --json |