2009-04-03 11 views
7

Dopo aver trascorso alcune ore a leggere di test di unità e test di sviluppo guidato qui sul StackOverflow e su altri messaggi siti mi ha segnalato, lo so due cose:aiutarmi a iniziare con il test di unità in Visual Studio 2008

  1. I vuole usarlo
  2. non so da dove cominciare

ci sono un sacco di buoni posti qui circa i dettagli, le migliori pratiche, ecc, ma quello che sto cercando è un principianti tutorial/introduzione - forse anche un libro.

Da dove iniziare? Supponi di non sapere nulla. :)

+0

Helt me ​​iniziare a imparare l'inglese o almeno a leggere il mio post prima di fare clic su "POST". – belgariontheking

risposta

4

Prendi il libro Pragmatic Unit Testing in C# with NUnit o Test-Driven Development with Microsoft.NET e di lavoro attraverso uno di loro. I principi saranno applicabili a molti quadri di test differenti sebbene gli idiomi specifici possano essere diversi.

+1

Consiglierei anche l'imminente "The Art of Unit Testing" di Roy Osherove - http://www.amazon.com/Art-Unit-Testing-Examples-NET/dp/1933988274/ref=pd_bbs_sr_1?ie=UTF8&s=books&qid= 1238789517 & sr = 8-1 –

2

Scrivere una classe di calcolatrice semplice con alcuni metodi per le operazioni e una proprietà per l'indicatore. Crea test unitari mentre scrivi la lezione.

Poi leggi Working Effectively With Legacy Code - ti mostrerà come aggiungere test unitari a vecchi progetti brutti.

2

Per me ho iniziato scrivendo i test di unità per alcuni dei nostri codici di manipolazione delle stringhe di basso livello. Ho creato un nuovo progetto per essere testato e collegato nella libreria di stringhe. Poi, sono passato attraverso ogni metodo e ho scritto test unitari per loro - condizioni al contorno, output attesi per input conosciuti, ecc. All'inizio sembrava un esagerato excersize ma poi .........

Ho trovato un insetto!!

Sono venduto.

Così ora sto aggiungendo al progetto di test mentre mi muovo più in alto nella catena alimentare nelle nostre biblioteche.

2

Vorrei scaricare ReSharper (e i seguenti plugin: Exceptional, Agent Smith, Agent Johnsson), lo strumento numero 1 per migliorare la qualità del codice e accelerare lo sviluppo. ReSharper non è libero, ma vale la pena i soldi;)

Poi scarica xUnit: http://xunit.codeplex.com

Per creare un test è semplice:

public class MyObjectTest 
{ 
    MyObject _objectToTest = new MyObject(); 

    [Fact] 
    private void TestStart() 
    { 
    _objectToTest.Start(); 
    Assert.True(_objectToTest.IsStarted); 
    } 
} 

ReSharper, integrato con xUnit, vi darà un'icona accanto a ciascun metodo di prova. L'icona consente di testare (e eseguire il debug) il metodo direttamente nell'IDE senza che sia necessario avviare l'intero programma. Non può essere più facile

La maggior parte degli sviluppatori direbbe che lo sviluppo basato su Test indica che si crea prima il test e poi l'oggetto. Di solito inizio con la creazione della classe, aggiungendo i metodi obbligatori e quindi creando il test.È un po 'più veloce e probabilmente inizierai a rifattorizzare la classe quando hai iniziato a costruire il test.

Quando si crea la classe, passare la maggior parte del tempo a documentare ciascun metodo. La documentazione dovrebbe motivare perché il metodo esiste, cosa si aspetta dagli argomenti e cosa restituisce. Se non riesci a descriverlo correttamente, molto probabilmente dovrai refactoring.

Problemi correlati