2010-03-13 16 views
7

Sono migrato da Java a C# e quindi mi chiedo come eseguire i test unitari in C#. Ricordo di aver usato JUnit per testare le mie applicazioni Java. Come posso testare l'unità in C#? Quali sono alcune buone risorse per i test unitari in C# UTILIZZANDO LA BIBLIOTECA DI PROVA DEL GRUPPO PREDEFINITO? Non ho davvero bisogno di una porta. Una buona risorsa sarebbe come un bel file PDF, un articolo o, meglio ancora, un video!C# Risorse di prova

risposta

16

NUnit è in effetti una porta idiomatica di JUnit per .NET. C'è anche un framework di test delle unità integrato in Visual Studio, ma dal momento che hai familiarità con JUnit e NUnit è gratuito, questa sarebbe la mia raccomandazione.

Per il beffardo e lo stub, mi piace Rhino Mocks.

Infine, Roy Osherove, ha un bel libro The Art of Unit Testing che è una bella discussione sul collaudo delle unità in generale, ma ti indicherà anche altri strumenti e risorse.

+4

+1 per il libro di Roy. Non è un libro molto grande (come in molte pagine), ma è scritto molto bene. Questo libro, combinato con un po 'di esperienza su progetti esistenti, mi ha aiutato a testare. –

+0

NUnit e JUnit sono entrambe porte di SUnit per Smalltalk. +1 per Rhino Mocks. –

+0

Sì, il libro di Roy è eccezionale. – Steven

0

Prova NUnit. Puoi anche guardare i progetti di test unitari in Visual Studio 2008 o Visual Studio 2010.

2

Mi piace usare MSTest poiché è in bundle con Visual Studio (la maggior parte delle versioni).

Controllare anche NUnit e xUnit.

Per il test runner mi piace usare ReSharper.

2

Per gli oggetti mock un'altra libreria interessante è Moq. Ha alcune caratteristiche interessanti, specialmente se testerai l'espressione lambda e tutte le cose LINQ (ha qualche supporto per questo).

Come per il collaudo delle unità, utilizzo NUnit ma consiglio vivamente di leggere Introduction to Test Driven Design (TDD).

+1

+1 per Moq. Trovo molto più intuitivo di Rhino Mocks. http://code.google.com/p/moq/ – TrueWill

4

Lei non ha menzionato quale versione di VS stai usando, ma se si tratta di VS 2010 RC dare Pex and Moles Visual Studio 2010 Utensili una prova ...

"Pex genera automaticamente suite di test con una copertura alta codice Proprio dall'editor di codice di Visual Studio, Pex trova interessanti valori di input-output dei tuoi metodi, che puoi salvare come una piccola suite di test con una copertura di codice elevata. Microsoft Pex è un componente aggiuntivo di Visual Studio per testare le applicazioni .NET Framework. "

"talpe permette di sostituire qualsiasi metodo NET con un delegato. Talpe supporta unit test fornendo isolamento mediante deviazioni e mozzi. Il quadro Moles è dotato Pex, oppure può essere installato da solo come Microsoft Componente aggiuntivo di Visual Studio. "

Video: