2010-02-14 29 views
65

Mi chiedevo quale framework di testing dell'unità sarebbe stato utile per familiarizzarsi? So che questa potrebbe essere una questione di opinione, ma ho pensato di chiedere comunque. So che un giorno dovrò farlo, quindi potrei anche imparare a usarlo. So che ce ne sono parecchie, ma quale è efficace per lo sviluppo di C#?Quale framework di test unitario?

Da this domanda Posso vedere che il collaudo delle unità è necessario, ma personalmente non l'ho usato. Ecco perché chiedo questa domanda.

+0

Questa è davvero una brutta domanda e dovrebbe essere chiusa come S & A. Né contiene alcuna buona risposta oltre a "hey I use xyz ed è davvero interessante", né è una risorsa preziosa per chiunque cerchi un confronto tra i framework attuali. –

+0

http://stackoverflow.com/questions/261139/nunit-vs-mbunit-vs-mstest-vs-xunit-net – nawfal

+0

Trovo che questo sia uno dei problemi principali delle persone con cui parlo di questo sito. Hai queste rigide regole sul fare domande che sono bombardate da troll di domande, le persone vogliono solo essere in grado di fare una domanda onesta e ottenere una buona risposta.Se hai intenzione di curare ogni domanda, puoi curare invece le risposte sbagliate e permettere alle persone di imparare da questa community di siti in modo olistico come vogliono. questa non può essere la prima volta e il numero di volte in cui le persone fanno domande qui non può essere così piccolo. Quindi, lavorare su un modo migliore per affrontare questo, vietando alle persone di fare domande per 6 mesi. – Rob

risposta

48

Personalmente, preferisco Visual Studio Unit Testing Framework, per due motivi principali:

  • si integra perfettamente con l'IDE;
  • È un programma in meno da distribuire in un ambiente di sviluppo.

Detto questo, praticamente qualsiasi framework di test delle unità farà il trucco, l'importante è avere dei test!

+10

lo svantaggio di questo è: il tuo TFS ha bisogno anche di una licenza VS, se vuoi (lo fai!) Una continua integrazione di integrazione eseguendo i test. Questo potrebbe non essere un problema per i grandi negozi o partner, ma almeno è un'altra cosa da tenere in considerazione. – mbx

+5

NUnit ora supporta l'integrazione con l'IDE e non richiede alcuna distribuzione (se si utilizza NuGet). –

+1

@mbx - Nessuna licenza VS è richiesta per gli agenti di compilazione TFS. – Spivonious

32

Non rimanere bloccato sulla scelta di un quadro. Scegline uno e inizia a testare: non sono poi così diversi. Quando hai scritto dei test per un po ', saprai cosa cercare, per soddisfare le tue esigenze.

Personalmente, ho trovato xUnit, Testdriven.Net e Moq per essere un insieme molto flessibile di strumenti di test.

vedere anche questo post: NUnit vs. MbUnit vs. MSTest vs. xUnit.net

+1

+1 per Moq! Ama quel quadro. – TrueWill

0

ci sono alcune ragioni per le prove, quindi un paio di ambienti di test. Inoltre, ci sono livelli di test, come semplici, stub e mock. Ad esempio, è possibile testare il comportamento piuttosto che lo stato.

Per quanto riguarda la funzione, di solito utilizzo il Visual Studio integrato nella configurazione, aggiungo un riferimento alla DLL NUnit e cambio le annotazioni C# in NUnit. Questo perché mi piace testare al di fuori di Visual Studio, soprattutto quando coinvolge altri membri del mio team (e non abbiamo ancora acquistato l'edizione della squadra di VS).

2

Io uso NUnit per il framework di test e ReSharper per l'integrazione in VS (e tutto il resto fa ReSharper).

+1

Riflettore o ReSharper? – TrueWill

+1

Yikes. ReSharper. Risolto, grazie. –

1

Utilizzare MbUnit (con Gallio), NUnit, MsTest o xUnit. È possibile combinare diversi test di unità. Uso NUnit per TDD

+0

Questo non funziona con VS2015 – sweetfa

5

Ho deciso di attenermi a NUnit perché ReSharper fornisce il supporto IDE nativo (che consente di risparmiare un sacco di tempo). È inoltre supportato da TeamCity nell'esecuzione e nella segnalazione di test automatici.