Consigli sul framework di test .NET
-
08-06-2019 - |
Domanda
Sto cercando di introdurre un framework di test unitario nel mix del mio lavoro.Utilizziamo Visual Studio 2005 (anche se potremmo passare al 2008 entro i prossimi 6 mesi) e lavoriamo principalmente in C#.Se il framework avesse una sorta di integrazione IDE sarebbe la cosa migliore, ma sono aperto a framework che non hanno integrazione ma sono comunque relativamente semplici da configurare.Otterrò resistenza in un modo o nell'altro, quindi se posso assicurarmi che ciò che sto spingendo non sia un dolore al collo, questo aiuterebbe il mio caso.
La scelta ovvia dalla ricerca che ho fatto finora punta a nUnit, ma mi piacerebbe avere le impressioni di qualcuno che lo ha effettivamente utilizzato prima di consigliarlo al mio team.
Qualcuno là fuori ha usato nUnit?Se sì, ci sono insidie o limitazioni di cui dovrei essere consapevole?Ci sono altre buone opzioni là fuori?Se è così, se hai utilizzato entrambe le nUnit, apprezzerei molto un'idea dei loro punti di forza e di debolezza.
Soluzione
Penso NUnit
È la soluzione migliore.Con TestDriven.NET
, ottieni una grande integrazione all'interno VS.NET
.(Resharper ha anche un runner per test unitari se lo stai utilizzando). NUnit
è semplice da usare e segue un paradigma stabilito.Troverai anche moltissimi progetti/tutorial/guide che lo utilizzano, il che aiuta sempre.
L'altra tua scelta principale è probabilmente MBUnit, che si posiziona sempre più come il BDD
quadro di scelta (in collaborazione con Gallio http://www.gallio.org).
Altri suggerimenti
Scott Hanselman ha pubblicato un buon podcast su questo argomento, intitolato:
"Il passato, il presente e il futuro dei framework di unit test .NET"
:
L'unità test integrata in VS 2008
va bene, ma è difficile integrarsi CruiseControl.net
, sicuramente molto più difficile del normale NUnit
.
Quindi vai con NUnit
se hai intenzione di avere dei bei test automatizzati.
Visual Studio 2008
ha un tipo di progetto di test integrato che funziona in modo simile a NUnit, ma ovviamente ha un'integrazione molto più stretta con Visual Studio
(può essere eseguito su ogni build e mostra i risultati in modo simile alla pagina dei risultati della conversione durante l'aggiornamento dei file della soluzione), ma ovviamente non è maturo come NUnit poiché è piuttosto nuovo e non sono sicuro di come gestisca il mocking.
Ma varrebbe la pena esaminarlo quando la tua squadra si trasferirà VS2008
Stiamo usando xUnit.net.Sembra unire tutto il meglio di nUnit
, mbUnit
E MSTest
.
Quando ho iniziato i test unitari ho iniziato con NUnit
poiché è semplice da configurare e utilizzare, attualmente sto utilizzando il test runner integrato fornito in dotazione Resharper
, in questo modo posso passare facilmente dal codice ai risultati del test.Per inciso NUnit
rileva quando hai compilato il codice, quindi non è necessario eseguire alcun aggiornamento NUnit
. Resharper
esegue automaticamente una compilazione quando scegli di eseguire un test specifico.
VSTT 2010
dovrebbe essere una buona scommessa se stai cercando l'automazione dei test funzionali.Test dei servizi Web, UI
test, test Biztalk e supporto per test basati sui dati.Per favore guarda VSTT
mbUnit
vale la pena dare un'occhiata, ha una serie di funzionalità paragonabili a NUnit
, ha una propria GUI o può essere integrato in VS
se hai Resharper
.Lo consiglierei anche Rhino Mocks
se stai facendo qualsiasi cosa TDD
.
Direi anche mbUnit, mi piace poter eseguire un singolo test più volte semplicemente specificando input e risultato proprio sopra la funzione di test.Orribile descrizione di ciò che intendo ecco un link che ti mostra cosa intendo.