Domanda

Ritornare un po' di più a .NET dopo alcuni anni in cui non lo si utilizzava a tempo pieno e chiedersi quali siano i migliori pacchetti di test unitari al giorno d'oggi.

Conosco NUnit (alcuni anni fa) e ho giocato brevemente con IronRuby, con l'obiettivo di far funzionare qualcosa come rspec, ma non so molto oltre.

Mi rendo conto che potrei cercarlo su Google e chiudere la giornata, ma credo che probabilmente otterrò una risposta migliore e più informata facendo una domanda qui :-)

Suggerimenti?

È stato utile?

Soluzione

Ce ne sono così tanti che è pazzesco.Pazzesco bene, immagino.

  • Per i tipi conservatori (io), NUnità è ancora disponibile e ancora più che capace.
  • Per i tipi Microsoft, MSTest è adeguato, ma lento e goffo rispetto a Nunit.Inoltre manca la copertura del codice senza pagare un sacco di soldi per le costose versioni di Visual Studio.
  • C'è anche MbUnit.È come NUnit, ma ha funzionalità interessanti come RowTest (esegui lo stesso test con parametri diversi) e Rollback (rimetti il ​​database come l'hai trovato dopo un test)
  • E infine, xUnit.net è l'opzione trendy con un certo atteggiamento.
  • Oh e TestDriven.NET ti fornirà l'integrazione IDE sia per Nunit che per MBunit.

Sono sicuro che stanno tutti bene.Tuttavia, mi allontanerei da MSTest, a meno che non ti piaccia semplicemente la comodità di avere tutto in un IDE pronto all'uso.

Scott Hanselmann ha un podcast proprio su questo argomento.

Altri suggerimenti

Usiamo NUnit e Unità MB Qui.Noi usiamo TestDriven.NET per eseguire gli unit test da Visual Studio.Usiamo l'eccellente, altamente raccomandato RhinoMocks come un quadro finto.

Attenersi a NUnit.Non avvicinarti a MSTest.

È un vero piacere lavorare con NUnit + ReSharper.

Prima usavo NUnit, ma ora tendo a usare MbUnit, per due funzionalità chiave:1.La funzione RowTest ti consente di eseguire facilmente lo stesso test su diversi set di parametri, il che è importante se desideri davvero una copertura completa.2.La funzionalità Rollback ti consente di eseguire test sul tuo database ripristinando le modifiche dopo ogni test, mantenendo il database esattamente nello stesso stato ogni volta.Ed è facile come aggiungere l'attributo [Rollback].

Un altro aspetto interessante di MbUnit è che la sua sintassi è quasi identica a NUnit, quindi se hai già un intero banco di prova sotto NUnit, puoi semplicemente cambiare i riferimenti senza la necessità di modificare alcun codice (molto?).

xUnit.net sembra fornire un approccio leggermente diverso a N/MB/MS/Unit, il che è interessante.

Nella mia ricerca di una soluzione simile a rspec (perché ADORO rspec), mi sono imbattuto anche in questo NSpec, che sembra un po' prolisso, ma combinato con il Estensioni NSpec componente aggiuntivo per utilizzare i metodi di estensione C#3, sembra piuttosto carino.

Io uso quanto segue:

TestDriven.NET - Componente aggiuntivo unit test per Visual Studio

Isolatore Typemock- Framework simulato per .Net Unit Testing

NUnità - Un framework di unit testing open source in C#.

Questa è una vecchia domanda ma potresti trovare interessante il fatto che Gallio v3.1 ora supporti RSpec tramite IronRuby.

mi piace TestDriven.NET (anche se uso ReSharper) e ne sono abbastanza soddisfatto XUnit.net.Utilizza fatti invece di test che a molte persone non piacciono, ma mi piace la differenza nella terminologia.È utile pensare a una raccolta di fatti dimostrabili automaticamente sul tuo software e vedere quali vengono violati quando apporti una modifica.

Fai attenzione a Visual Studio 2008 Professional (e versioni successive) è ora dotato di Unit Testing integrato (era disponibile solo con le edizioni Team System) e potrebbe essere adatto alle tue esigenze.

Ho fatto un piccolo esempio di test di una libreria .net utilizzando ironRuby:http://khebbie.dk/post/2008/08/Example-of-using-ironRubys-mini_rspec-library.aspx

Prima usavo NUnit, ma sono passato a MbUnit poiché ha più funzionalità.Adoro RowTest.Ti consente di parametrizzare i tuoi test.NUnit ha però un supporto per gli strumenti leggermente migliore.Sto utilizzando ReSharper per eseguire i test MbUnit.Ho avuto problemi con TestDriven.NET durante l'esecuzione dei miei metodi SetUp per MbUnit.

Questa è davvero un'opinione personale da parte mia (immagino sia ridondante dato che è un forum).NUnit, MSTest, ecc. fanno tutti più o meno la stessa cosa.Tuttavia trovo NMock indispensabile.

NMock o qualsiasi pacchetto beffardo non è un test unitario ma rende molto più semplice eseguire test unitari che potrebbe anche esserlo.

mi piace MbUnit, ehm, Gallio.La cosa più importante per me è avere un buon supporto per gli strumenti all'interno di Visual Studio.Per questo utilizzo Riaffilatore, che ha un Corridore del test MbUnit.Sembra che a molte persone piaccia TestDriven.NET anche come loro test runner.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top