Caricate file 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, normalizzateli in un unico modello canonico, unite le esecuzioni in modo deterministico e leggete il risultato direttamente nei margini dell'editor — in VS Code, e in Visual Studio 2022 e 2026 in ogni edizione. Nessun visualizzatore separato per cui lasciare l'editor.
Si parte gratis. Fucini Coverage Studio è gratuito per una prova di 14 giorni, con tutto sbloccato. Poi non ti blocca fuori, ma si assesta sul piano Community gratuito — tutte le funzionalità tranne MC/DC, con generosi limiti mensili su alcune. Passa quando vuoi a un piano superiore per l'insieme senza restrizioni, oppure sblocca tutto gratis condividendo la telemetria d'uso dettagliata. Vedi i piani →
Prossimamente: tutta questa coverage in Azure DevOps, in un'estensione gratuita. Azure DevOps mostra la coverage di una build solo fin dove arriva il suo formato — righe, e rami come percentuale. Fucini DevOps Studio mostrerà tutto ciò che Coverage Studio legge: ognuno di questi 25 formati, per ogni linguaggio, con MC/DC, condizioni, il punteggio composito e i gate, come scheda Coverage sulla pipeline che l'ha prodotta. Seguite le novità per la prima release.
Screenshot pending — add assets/img/hero.png (see SCREENSHOTS.md).Quando i test li ha scritti unʼIA
Un modello linguistico ti scrive una suite di test in pochi secondi, e si legge in modo convincente. Quello che non può dirti è se quei test raggiungono qualcosa che conta — e nemmeno la copertura di riga può farlo, perché un test senza alcuna asserzione illumina comunque ogni riga che tocca.
MC/DC e copertura dei rami mostrano se ogni decisione è stata davvero esercitata, non solo se la riga è stata raggiunta. I test generati percorrono il percorso felice e lasciano intatto lʼaltro lato di ogni if: si legge come 100% di righe e 50% di rami. Quel divario è il risultato.
Il rilevamento di codice morto elenca le funzioni che nessun test ha raggiunto. Una suite generata le nomina nei titoli e non ci arriva mai, cosa invisibile in unʼesecuzione verde.
La copertura del diff misura solo ciò che è cambiato rispetto a una base git, così «i test passano» diventa «il codice che hai appena accettato è testato». Funziona allo stesso modo che lʼabbia scritto una persona o un assistente.
Niente di tutto questo dimostra che un test sia buono — nulla può farlo. Ti dice, con precisione e riga per riga, che cosa non è mai stato eseguito: la parte che un revisore non riesce a tenere a mente e che un assistente non segnala spontaneamente. Funziona con TypeScript e JavaScript tramite Vitest, Jest o nyc, e con C, C++, Java e Ruby tramite i tracefile che quelle toolchain già producono.
Perché è diverso
LCOV, llvm-cov JSON, Cobertura, JaCoCo, Istanbul/nyc, SimpleCov, Clover, OpenCover, coverage.py, gcov JSON e testo semplice, Go, Coveralls, SonarQube, GNATcoverage, Bullseye, Visual Studio, Xcode, VectorCAST, Testwell CTC++, TRACE32, EMMA, UCIS/UCDB, NCover e dotCover — rilevati automaticamente e uniti in modo deterministico con provenienza registrata.
Indicatori di riga, ramo e funzione, il righello di panoramica, i badge di Explorer e la vista Covered Files.
Modified Condition/Decision Coverage, copertura di regioni e istanziazioni C++ da llvm-cov, con dettaglio per decisione al passaggio del mouse.
Una singola media armonica ponderata su tutte le metriche, con pesi allineati ai livelli IEC 61508 / ISO 26262 / DO-178C.
Verdetti COMPLIANT / NON-COMPLIANT con soglie per metrica e modalità strict, whm, both o either.
Limita le decorazioni alle righe modificate rispetto a un riferimento base git — perfetto per verificare esattamente cosa una PR ha coperto o meno.
Fucini Coverage: Run Tests with Coverage. Riconosce vitest, jest, pytest, go, cargo, dotnet, maven, gradle, phpunit e ctest, esegue i tuoi test con la copertura attiva e carica ciò che scrivono. Hai già un file di traccia? Fucini Coverage: Pick Coverage File lo carica e lo ricorda.Richiede VS Code ≥ 1.88, oppure Visual Studio 2022 o 2026 — Community, Professional o Enterprise — più un file di traccia della coverage che il vostro progetto già produce. In Visual Studio 2022 la coverage integrata è solo per Enterprise; Coverage Studio per Visual Studio la mostra anche su Community e Professional, dal file che la vostra build già scrive.
Anche VS Code e diverse estensioni gratuite mostrano la copertura. Ecco che cosa fa ciascuno secondo la propria documentazione, a settembre 2026: dove un README non menziona qualcosa, la tabella lo dice invece di tirare a indovinare.
| Fucini Coverage Studio | VS Code, integrato | Coverage Gutters | Code Coverage (markis) | Gcov Viewer | |
|---|---|---|---|---|---|
| Da dove arriva la copertura | 25 formati di file di traccia, più i report di mutazione di PIT e Stryker | un’estensione di test che fornisce la copertura | file lcov e XML | file lcov | file .gcda di GCC, tramite gcov |
| Righe non coperte nell’editor | ✓ | ✓ | ✓ | ✓, e in Problems | ✓ |
| Copertura dei rami, per ramo | ✓ | se l’estensione di test la fornisce | non descritto | non descritto | non descritto |
| MC/DC | ✓ (Pro) | — | non descritto | non descritto | non descritto |
| Più file di traccia uniti, e quale ha coperto ogni riga | ✓ | — | più file supportati | non descritto | non descritto |
| Ricarica quando il file di traccia cambia | ✓ | mostra l’ultima esecuzione dei test | ✓ | non descritto | non descritto |
| Copertura delle modifiche, soglie e cronologia | ✓ | copertura mostrata nell’editor delle differenze | non descritto | non descritto | non descritto |
| Report HTML | generato, ospitato in proprio | — | anteprima di uno esistente | non descritto | non descritto |
| Copertura per gli agenti IA: strumenti per modelli linguistici e un server MCP | ✓ | non descritto | non descritto | non descritto | non descritto |
| I test che hanno eseguito una riga, e i test toccati dalle tue modifiche | ✓ | copertura per test, quando l'estensione di test la riporta | non descritto | non descritto | non descritto |
| Risultati dei test di mutazione nell'editor | ✓ (PIT, Stryker) | non descritto | non descritto | non descritto | non descritto |
| Una soglia sul nuovo codice | ✓ | non descritto | non descritto | non descritto | non descritto |
| Gli stessi numeri in Visual Studio e dalla riga di comando | ✓ | — | non descritto | non descritto | non descritto |
Non è un aut aut con la vista di VS Code: ogni caricamento viene pubblicato anche nel pannello nativo Test Coverage, filtro per test compreso. Qualcosa qui è superato? Segnalalo nella pagina dei contatti.
| Formato | File tipico |
|---|---|
| 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 |