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

Posted by Przemysław Owsianik on 2021-08-27
<p>Pierwszy wpis techniczny. Krótko i na temat :). Post jest kierowany do początkujących adeptów sztuki testów&nbsp;jednostkowych.3A jest wzorcem postępowania podczas pisania testu. Jeżeli o nim nigdy nie słyszeliście, a pisaliście już trochę&nbsp;testów, to na pewno go i tak znacie :). Akronim&nbsp;AAA&nbsp;rozwijamy w&nbsp;Arrange(aranżacja)&nbsp;Act(akcja)&nbsp;Assert(asercja).</p> <p>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,&nbsp;które testują funkcjonalność udostępnianą przez wspomniany obiekt).&nbsp;Kolejną czynnością jest zwykle wykonanie akcji, którą chcemy przetestować. Cóż za zaskoczenie: to właśnie jest&nbsp;akcja 🙂 Ostatnim krokiem jest asercja – sprawdzenie efektu, który spowodowała (lub nie :)) akcja.</p> <p><i>public void OurTestMethod_WhichSpecificData_SpecificBehaviour() { //Arrange var systemUnderTests = Factory.CreateSystemUnderTest(); var specificData = DataFactory.CreateSpecificData(); //Act systemUnderTests.OurTestMethod(specificData); //Assert assert.ThatSpecificBehaviour; } </i></p> <p>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,&nbsp;którym można błysnąć w towarzystwie 😉</p>