Testy jednostkowe: wzorzec AAA (lub po prostu 3A)

Pierwszy wpis techniczny. Krótko i na temat :). Post jest kierowany do początkujących adeptów sztuki testów jednostkowych.
3A jest wzorcem postępowania podczas pisania testu. Jeżeli o nim nigdy nie słyszeliście, a pisaliście już trochę testów, to na pewno go i tak znacie :). Akronim AAA rozwijamy w Arrange(aranżacja) Act(akcja) Assert(asercja).

Gdy piszemy test pierwszą czynnością jest zazwyczaj utworzenie obiektu, który jest odpowiedzialny za testowany element – ten etap to aranżacja. Jest on często wspólny dla grupy testów (mówiąc grupa testów, mam na myśli zestaw testów, które testują funkcjonalność udostępnianą przez wspomniany obiekt). Kolejną czynnością jest zwykle wykonanie akcji, którą chcemy przetestować. Cóż za zaskoczenie: to właśnie jest akcja 🙂 Ostatnim krokiem jest asercja – sprawdzenie efektu, który spowodowała (lub nie :)) akcja.

public void OurTestMethod_WhichSpecificData_SpecificBehaviour()
{
     //Arrange
     var systemUnderTests = Factory.CreateSystemUnderTest();
     var specificData = DataFactory.CreateSpecificData();
     //Act
     systemUnderTests.OurTestMethod(specificData);
     //Assert
     assert.ThatSpecificBehaviour;
}

Może ten wzorzec nie jest szczególnie odkrywczy, ale myślę, że początkującym się przyda, bo wytycza pewien szlak, którym należy podążać podczas pisania testów. W najgorszym wypadku, doda do słownika programisty nowy skrót, którym można błysnąć w towarzystwie 😉

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *