2010-03-11 8 views
11

Con il framework di Visual Studio 2008, mi manca qualcosa di grande NON utilizzando uno strumento esterno come NUnit? Da quello che posso dire sembra che usare NUnit sia più di una seccatura con la creazione manuale di classi e metodi di test rispetto al clic con il pulsante destro del mouse sull'IDE. Detto questo, mi mancano le funzionalità che NUnit prevede che VS non contenga? Avere una semplice GUI per l'accesso alle mie persone QA va bene e tutto, ma usando nAnt e le dipendenze di build sui passaggi unit test, mi mancano fantastiche funzionalità?Esistono reali differenze tra NUnit e Microsoft Test Unit Framework (VS 2008)?

+0

Le risposte a questa domanda possono essere utili: http://stackoverflow.com/questions/92869/nunit-vs-visual-studio-2008s-test-projects-for-unit-testing –

risposta

12

Roy Osherove ha appena scritto un recente blog post riassumendo le differenze tra NUnit e MSTest. Penso che risponda alla tua domanda.

Conclude che NUnit vince per il test unitario, ma MsTest ha capacità molto migliori per test di integrazione e test di squadra con Team System.

+0

@Paddyslacker: Nowhere nel post sul blog di Roy fa dichiarazioni sul fatto che "NUnit è di gran lunga superiore per i veri test di unità". –

+0

Corretta la conclusione per abbinare il titolo del post del blog. Grazie per avermi mantenuto onesto, Scott! – Paddyslacker

+0

Sono praticamente lo stesso IMHO. –

1

Uso MSTest al lavoro perché devo e, a essere onesto, lo trovo lento e irritante. Se avessi la mia scelta, sarebbe xunit.net (fondamentalmente come nunit, solo un po 'meno verboso) + il runner di test di resharper per l'integrazione di IDE.

4

Ho utilizzato sia NUnit che MSTest. Sì, ci sono differenze. NUnit è una struttura di testing delle unità più vecchia e più consolidata, progettata per fare esattamente una cosa: test delle unità. MSTest è più recente quindi non ha lo stesso livello di maturità nella sua API. Ad esempio, NUnit offre più metodi Assert che MSTest. (Per ulteriori informazioni, vedere http://geekswithblogs.net/sdorman/archive/2009/01/31/migrating-from-nunit-to-mstest.aspx. Per aggiungere alcuni dei metodi Assert mancanti, vedere http://geekswithblogs.net/sdorman/archive/2009/01/31/adding-custom-assertions-to-mstest.aspx).

Non ho trovato che le prestazioni siano un problema con entrambi i framework.

Alcune delle differenze più grandi sono:

  • MSTest richiede un'istanza di Visual Studio sul server di build per eseguire. Non contiene un test runner autonomo come NUnit.
  • MSTest fornisce risultati di test e risultati di copertura del codice direttamente all'interno di Visual Studio. NUnit fornisce risultati dei test nella propria interfaccia utente e richiede strumenti aggiuntivi per eseguire l'analisi della copertura del codice.
Problemi correlati