practice - visual studio unit testing c#




Consigli per i test di.NET Framework (7)

Sto cercando di introdurre un framework di test delle unità nel mix nel mio lavoro. Stiamo utilizzando Visual Studio 2005 (sebbene potremmo passare al 2008 entro i prossimi 6 mesi) e lavorare principalmente in C #. Se il framework ha qualche tipo di integrazione IDE che sarebbe il migliore, ma sono aperto a framework che non hanno integrazione ma sono ancora relativamente semplici da configurare. Avrò resistenza in un modo o nell'altro, quindi se posso assicurarmi che quello che sto spingendo non è un dolore al collo, ciò aiuterebbe il mio caso.

L'ovvia scelta dalla ricerca che ho fatto finora punta a nUnit, ma mi piacerebbe avere le impressioni di qualcuno che lo ha effettivamente utilizzato prima di raccomandarlo al mio team.

Qualcuno là fuori ha usato nUnit? In tal caso, ci sono delle insidie ​​o limitazioni di cui dovrei essere a conoscenza? Ci sono altre buone opzioni là fuori? Se è così, se hai usato entrambi nUnit per questo, apprezzerei molto l'idea dei punti di forza e di debolezza di essi.


Direi anche mbUnit, mi piace essere in grado di eseguire un singolo test molte volte solo specificando input e risultati proprio sopra la funzione test. Descrizione orribile di cosa intendo, ecco un link che ti mostra cosa intendo.


Abbiamo usato xUnit.net . Sembra combinare tutto il meglio di nUnit , mbUnit e MSTest .


Prova anche lo strumento PEX Lo stesso Microsoft probabilmente sarà presto integrato in VSTS e supporta NUnit , MbUnit e xUnit.net

Io uso anche una piccola applicazione console per testare una classe o una piccola libreria. Potresti copiare incollare il codice da qui


Quando ho iniziato i test unitari, ho iniziato con NUnit poiché è semplice da configurare e utilizzare, attualmente sto utilizzando il test runner integrato fornito con Resharper , in questo modo posso facilmente capovolgere tra codice e risultati dei test. Incidentalmente NUnit rileva quando hai compilato il tuo codice in modo da non dover eseguire alcun aggiornamento in NUnit . Resharper esegue automaticamente una build quando si sceglie di eseguire un test specifico.


VSTT 2010 dovrebbe essere una buona scommessa se stai cercando l'automazione del test funzionale. Test dei servizi Web, test UI , test di Biztalk e supporto di test basati sui dati. Si prega di guardare VSTT


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 di conversione quando si aggiorna la soluzione file), ma ovviamente non è così maturo come NUnit dato che è piuttosto nuovo e non sono sicuro di come gestisca il mocking.

Ma varrebbe la pena esaminare quando la tua squadra si trasferisce su VS2008


Penso che NUnit sia la soluzione migliore. Con TestDriven.NET , ottieni una grande integrazione con VS.NET . (Anche se lo stai usando, Resharper ha un dispositivo di prova dell'unità). NUnit è semplice da usare e segue un paradigma consolidato. Troverai anche molti progetti / tutorial / guide che lo aiutano sempre.

La tua altra scelta principale è probabilmente MBUnit, che è sempre più la posizione in sé come il quadro di scelta BDD (in collaborazione con Gallio http://www.gallio.org ).





unit-testing