2014-09-06 5 views
8

Trovo utile il concetto di partizionamento delle affermazioni dei miei test unitari come suggerito nel modello AAA.I commenti di direzione sono consigliati quando si effettua un test unitario con Arrange-Act-Assert?

tendo aggiungere voce commenti in modo che i test simile a questa:

// Arrange 
int a = 1; 
int b = 2; 

// Act 
int c = a + b; 

// Assert 
Assert.AreEqual(3, c); 

Ma io sono curioso, è normale per includere sempre questi commenti di intestazione?

... o è qualcosa che dovrei evitare?

int a = 1; 
int b = 2; 

int c = a + b; 

Assert.AreEqual(3, c); 
+1

Si dovrebbe evitare. Quei commenti non aggiungono alcun valore. –

+1

@jimmy_keen Devo dissentire su quello. In questo caso le logiche sono davvero facili, ma come affermato da altri qui, quando si ottengono grandi progetti, con un sacco di test, che molte persone hanno scritto .. E forse i test troppo lunghi, quei tre commenti sono gold –

+1

@Stian .: "looong test "indicano problemi di progettazione. Quando hai bisogno * di organizzare, di agire, di asserire * commenti per rendere comprensibile il test, stai sostanzialmente dicendo * "Non ho avuto il tempo di pulire questo metodo di test, quindi ti lascio quei marcatori quindi spero che tu possa capire cosa intendevo con questo codice scritto male "*. Fai un favore a te stesso e alla tua squadra e risolvilo. Il codice pulito non ha bisogno di commenti. –

risposta

6

Questo non sembra aggiungere molto valore una volta compresa la premessa di base. Visto che citi C#, ti suggerisco di dare un'occhiata a The Art of Unit Testing per gli esempi. Denominare correttamente un test di unità è più importante di IMHO che organizzare/agire/affermare commenti al suo interno. Come sottolinea il libro, quando un test fallisce, se viene chiamato bene, puoi spesso dedurre direttamente la causa di una regressione se sai quali modifiche sono state apportate di recente.