Cosa posso usare per una copertura del codice di buona qualità per C # /. NET? [chiuso]


415

Mi chiedo quali opzioni ci sono per la copertura del codice .NET (o C # in particolare), specialmente nel segmento a basso costo?

Non sto cercando consigli, ma per un confronto di prodotti basati su fatti. Conosco quanto segue:

  • NCover
    • Sembra essere molto popolare e sembra abbastanza buono
    • Supporta la copertura delle dichiarazioni e la copertura delle filiali
    • $ 480 per "NCover 3 Complete"
    • Le versioni beta precedenti sono disponibili gratuitamente
  • Visual Studio (2008 Pro) | (Team System 2005 (edizioni Development, Test o Team Suite))
    • Bene, è Microsoft, quindi mi aspetto che funzioni correttamente
    • Completamente integrato in Visual Studio
    • Almeno $ 5,469
  • PartCover - nessun ulteriore sviluppo (spostato su OpenCover)
    • Open source
    • Supporta la copertura delle dichiarazioni
  • OpenCover - successore di PartCover
  • Copertura test SD
    • Funziona con 32 e 64 bit, C # 4.0 completo
    • Gestisce basi di codice sia piccole che molto grandi
    • $ 250 per licenza per singolo utente
  • JetBrains dotCover
    • $ 100 per licenza personale. Gratuito per gruppi di utenti, progetti open source, studenti e insegnanti.
    • Supporta la copertura delle dichiarazioni
    • Supporto Silverlight
  • NCrunch

    • $ 159 per licenza personale
    • $ 289 per la licenza di posto commerciale * Gratuito durante la beta, per diventare commerciale, prezzo sconosciuto futuro sconosciuto .
    • Indicatori di copertura del codice in Visual Studio
    • Test continui (quasi in tempo reale)
    • Copertura visiva del codice per test
    • Metriche delle prestazioni, esecuzione di test multi-core paralleli
  • NDepend

    • $ 410 per la licenza sviluppatore
    • NDepend può importare i dati di copertura da NCover, DotCover, Visual Studio 2017; File di copertura del codice 2015, 2013, 2012, 2010 e 2008.
    • Grafico delle dipendenze
    • Matrice della struttura di dipendenza
    • Visualizzazione delle metriche del codice
    • Convalida delle regole del codice

La domanda è già duplicata in softwarerecs.stackexchange.com/questions/123/… . Può essere migrato e unito?
Michael Freidgeim,

Non ho visto AxoCover menzionato qui, è gratuito e funziona abbastanza bene IMO: https://marketplace.visualstudio.com/items?itemName=axodox1.AxoCover
Brad Albright

Risposte:


72

Uso la versione di NCover fornita con TestDriven.NET . Ti consentirà di fare clic con il pulsante destro del mouse sulla libreria delle classi di test unitari, quindi di selezionare Test con → Copertura e visualizzerà il rapporto.


5
Devi amare TestDriven.NET; in effetti, utilizzo VSTS, ma tendo a utilizzare NUnit (non MSTes) e utilizzo TestDriven.NET per "Testare con -> Copertura del team", che utilizza lo strumento di copertura MSTest (compresa la colorazione) con i miei test NUnit. Fantastico.
Marc Gravell

Questo è quello che ho usato anche - fino a quando non ho spostato le mie app in 64 bit :-(
galaktor,

Non funziona ancora con .NET core.
Mariusz Jamro,

46

Un'alternativa a NCover può essere PartCover , è uno strumento di copertura del codice open source per .NET molto simile a NCover, include un'applicazione console, un browser di copertura GUI e trasformazioni XSL da utilizzare in CruiseControl.NET .

È un prodotto molto interessante.

OpenCover ha sostituito PartCover.


12
PartCover è stato sostanzialmente sostituito da OpenCover ( github.com/sawilde/opencover ), in quanto PartCover ha ristagnato con supporto solo per .NET 2.
David Keaveny,


15

Ho appena provato NCrunch e devo dire che sono molto colpito. È uno strumento di test continuo che aggiungerà copertura del codice al codice in Visual Studio quasi in tempo reale. Al momento in cui scrivo questo NCrunch è gratuito. Tuttavia, non è chiaro se sarà gratuito, costerà denaro o sarà aperto in futuro .


4
Non gratuito dal 20/03/2014

4

TestCocoon è anche molto carino. È in sviluppo attivo e ha una comunità di utenti:

  • Open source (GPL 3)
  • Supporta la piattaforma multipiattaforma C / C ++ / C # (Linux, Windows e Mac)
  • CoverageScanner - Strumentazione durante la generazione
  • CoverageBrowser: visualizzazione, analisi e gestione dei risultati della copertura del codice

Tuttavia, TestCocoon non è più sviluppato e i suoi creatori stanno ora producendo un software commerciale per C / C ++.


1
TestCocoon è stato ribattezzato Squish Coco quando lo sviluppatore principale (e TestCocoon) si sono uniti a froglogic . l'attuale versione di Squish Coco supporta anche C #.
Frerich Raabe,


2

Non sono sicuro di quale sia la differenza con NCover al dettaglio, ma esiste anche un progetto NCover su SourceForge che è ovviamente open source e gratuito.


2
La versione su Sourceforge è la base per le attuali versioni di NCover. Non viene più attivamente lavorato / supportato, ma è ancora ampiamente disponibile. Sono fino alla versione 3.0 ora.
Valien,

1

Vedi lo strumento di copertura test C # della mia azienda, Semantic Designs:

Ha un sovraccarico molto basso, gestisce enormi sistemi di file, interfaccia grafica intuitiva, copertura di howing su file specifici e report generati con suddivisione della copertura a livello di metodo, classe e pacchetto.


dato che questo è un prodotto commerciale dovresti davvero indicare il costo: D
John Nicholas,

Il prezzo viene visualizzato in modo evidente nel riepilogo dei risultati nella domanda che ha avviato questa discussione.
Ira Baxter,


1

C # Test Coverage Tool ha un sovraccarico molto basso, gestisce enormi sistemi di file, GUI intuitiva che mostra la copertura su file specifici e genera report con suddivisione della copertura a livello di metodo, classe e pacchetto.


0

Le funzionalità di copertura del codice, nonché le API programmabili, vengono fornite con Visual Studio 2010. Purtroppo, le uniche due edizioni che includono le funzionalità di copertura del codice sono Premium e Ultimate. Tuttavia, credo che le API saranno disponibili con qualsiasi edizione, quindi sarebbe probabilmente possibile creare file di copertura del codice e scrivere un visualizzatore per le informazioni sulla copertura.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.