Cargue archivos 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 y dotCover, normalícelos en un único modelo canónico, combine ejecuciones de forma determinista y lea el resultado directamente en los márgenes del editor — en VS Code, y en Visual Studio 2022 y 2026 en cualquier edición. Sin un visor aparte por el que abandonar su editor.
Gratis para empezar. Fucini Coverage Studio funciona gratis durante una prueba de 14 días, con todo desbloqueado. Después no le deja fuera, sino que pasa al nivel Community gratuito — todas las funciones salvo MC/DC, con generosos límites mensuales en unas pocas. Mejore de plan cuando quiera para tener el conjunto sin restricciones, o desbloquéelo todo gratis compartiendo telemetría de uso detallada. Ver planes →
Lo siguiente: toda esta cobertura en Azure DevOps, en una extensión gratuita. Azure DevOps muestra la cobertura de una compilación solo hasta donde llega su propio formato — líneas, y ramas como porcentaje. Fucini DevOps Studio mostrará todo lo que Coverage Studio lee: cada uno de estos 25 formatos, para cada lenguaje, con MC/DC, condiciones, la puntuación compuesta y las puertas, como una pestaña Coverage en la canalización que la produjo. Siga las noticias para la primera versión.
Screenshot pending — add assets/img/hero.png (see SCREENSHOTS.md).Cuando una IA escribió las pruebas
Un modelo de lenguaje te escribe una suite de pruebas en segundos, y se lee de forma convincente. Lo que no puede decirte es si esas pruebas alcanzan algo que importe — y la cobertura de líneas tampoco, porque una prueba sin ninguna aserción ilumina igualmente cada línea que toca.
MC/DC y la cobertura de ramas muestran si cada decisión se ejerció de verdad, no solo si se alcanzó la línea. Las pruebas generadas recorren el camino feliz y dejan intacto el otro lado de cada if, lo que se lee como 100% de líneas y 50% de ramas. Esa diferencia es el hallazgo.
La detección de código muerto enumera las funciones que ninguna prueba alcanzó. Una suite generada las nombra en sus títulos y nunca llega a ellas, algo invisible en una ejecución en verde.
La cobertura de diff mide solo lo que cambió respecto a una base de git, así que «las pruebas pasan» se convierte en «el código que acabas de aceptar está probado». Funciona igual lo escribiera una persona o un asistente.
Nada de esto demuestra que una prueba sea buena — nada puede hacerlo. Te dice, con precisión y línea a línea, qué no se ejecutó nunca: la parte que un revisor no puede retener en la cabeza y que un asistente no menciona por su cuenta. Funciona con TypeScript y JavaScript mediante Vitest, Jest o nyc, y con C, C++, Java y Ruby mediante los tracefiles que esas cadenas ya generan.
Por qué es diferente
LCOV, llvm-cov JSON, Cobertura, JaCoCo, Istanbul/nyc, SimpleCov, Clover, OpenCover, coverage.py, gcov JSON y texto plano, Go, Coveralls, SonarQube, GNATcoverage, Bullseye, Visual Studio, Xcode, VectorCAST, Testwell CTC++, TRACE32, EMMA, UCIS/UCDB, NCover y dotCover — detectados automáticamente y combinados de forma determinista con procedencia registrada.
Marcadores de línea, rama y función, la regla de resumen, insignias del Explorador y la vista Covered Files.
Modified Condition/Decision Coverage, cobertura de regiones e instanciaciones de C++ desde llvm-cov, con desglose por decisión al pasar el cursor.
Una única media armónica ponderada sobre todas las métricas, con pesos alineados a los niveles IEC 61508 / ISO 26262 / DO-178C.
Veredictos COMPLIANT / NON-COMPLIANT con umbrales por métrica y modos strict, whm, both o either.
Restrinja las decoraciones a las líneas cambiadas respecto a una referencia base de git — perfecto para revisar exactamente lo que un PR cubrió o no.
Fucini Coverage: Run Tests with Coverage. Reconoce vitest, jest, pytest, go, cargo, dotnet, maven, gradle, phpunit y ctest, ejecuta tus pruebas con la cobertura activada y carga lo que escriben. ¿Ya tienes un archivo de traza? Fucini Coverage: Pick Coverage File lo carga y lo recuerda.Requiere VS Code ≥ 1.88, o Visual Studio 2022 o 2026 — Community, Professional o Enterprise — más un archivo de traza de cobertura que su proyecto ya produce. En Visual Studio 2022 la cobertura integrada es solo de Enterprise; Coverage Studio para Visual Studio la muestra también en Community y Professional, a partir del archivo que su build ya escribe.
VS Code y varias extensiones gratuitas también muestran cobertura. Esto es lo que la documentación de cada uno dice que hace, a septiembre de 2026; cuando un README no menciona algo, la tabla lo dice en lugar de adivinar.
| Fucini Coverage Studio | VS Code, integrado | Coverage Gutters | Code Coverage (markis) | Gcov Viewer | |
|---|---|---|---|---|---|
| De dónde sale la cobertura | 25 formatos de archivo de traza, más informes de mutación de PIT y Stryker | una extensión de pruebas que informa la cobertura | archivos lcov y XML | archivos lcov | archivos .gcda de GCC, mediante gcov |
| Líneas sin cubrir en el editor | ✓ | ✓ | ✓ | ✓, y en Problems | ✓ |
| Cobertura de ramas, por rama | ✓ | si la extensión de pruebas la informa | no descrito | no descrito | no descrito |
| MC/DC | ✓ (Pro) | — | no descrito | no descrito | no descrito |
| Varios archivos de traza combinados, y cuál cubrió cada línea | ✓ | — | admite varios archivos | no descrito | no descrito |
| Se recarga cuando cambia el archivo de traza | ✓ | muestra la última ejecución de pruebas | ✓ | no descrito | no descrito |
| Cobertura de cambios, umbrales e historial | ✓ | cobertura mostrada en el editor de diferencias | no descrito | no descrito | no descrito |
| Informe HTML | generado, autoalojado | — | previsualiza uno existente | no descrito | no descrito |
| Cobertura para agentes de IA: herramientas de modelo de lenguaje y un servidor MCP | ✓ | no descrito | no descrito | no descrito | no descrito |
| Las pruebas que ejecutaron una línea, y las pruebas afectadas por sus cambios | ✓ | cobertura por prueba, cuando la extensión de pruebas la informa | no descrito | no descrito | no descrito |
| Resultados de pruebas de mutación en el editor | ✓ (PIT, Stryker) | no descrito | no descrito | no descrito | no descrito |
| Un umbral para el código nuevo | ✓ | no descrito | no descrito | no descrito | no descrito |
| Las mismas cifras en Visual Studio y en la línea de comandos | ✓ | — | no descrito | no descrito | no descrito |
No hay que elegir entre esto y la vista de VS Code: cada carga se publica también en el panel nativo Test Coverage, con el filtro por prueba incluido. ¿Algo está desactualizado? Díganoslo en la página de contacto.
| Formato | Archivo 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 |