Figura 1. Diagramma sviluppo TDD
Vediamo ora un esempio semplice di codice:
-
Aggiungiamo il test
public void NumberToEnglishShouldReturnOne()
{
string actual =
English.NumberToEnglish(1);
Assert.AreEqual("one",
actual, "Expected the result to be
\"one\"");
}
-
Eseguiamo il test. Il test fallisce in quanto il codice non è stato ancora implementato
"NumbersInWords.Test.EnglishTest.NumberToEnglishShouldReturnOne
:
System.Exception :
The
method or operation is not implemented.".
- Scriviamo il codice in modo che il test sia superato
public static string NumberToEnglish(int number)
{
return "one";
}
-
Eseguiamo di nuovo il test
-
Una volta che il test è passato il prossimo passo è iniziare di nuovo il processo (code refactoring)
Ad esempio il nuovo test sarà:
public void NumberToEnglishShouldReturnTwo()
{
string actual =
English.NumberToEnglish(2);
Assert.AreEqual("two",
actual, "Expected the result to be
\"two\"");
}
Quindi modifichiamo il codice in modo che il test sia passato:
public static string NumberToEnglish(int number)
{
if (number == 1)
return "one";
else
return "two";