4it101»J Unit 26

J Unit 26

Implicitní přístup

V implicitním přístupu je přípravek odstraňován v metodě s anotací @After, respektive @AfterClass. Cokoliv, co je třeba odstranit, a tudíž není dále při testování v testovací třídě používané, je třeba umístit do těchto metod. Testovací přípravek je tedy v případě použití anotace @After odstraňován implicitně po běhu každé zkušební metody, a v případě použití anotace @AfterClass dojde k odstranění přípravku jednou, po dokončení testování v dané testovací třídě. K odstraňování dochází bez ohledu na to, zda test, ve kterém byl přípravek používán prošel nebo ne. V následujícím příkladu je po otestování toho, zda přidávání položek do objednávky funguje správně, demonstrovány to, jakým způsobem dojde k odstranění testovacího přípravku. V první řadě je z objednávky odstraněna vložena položka, pak dojde ke zrušení odkazu směřujícího na tuto položku.


Objednavka objednavka;
Polozka polozka;

@After
public void tearDown() {
    try {
        objednavka.odeberPolozku(polozka);
    } finally {
        polozka = null;
    }
}

@Test
public void testPripravok6() {
    objednavka = new Objednavka(123);
    polozka = new Polozka("název", 456);
    objednavka.pridejPolozku(polozka);
    ArrayList<IPolozka> seznamPolozek = objednavka.getSeznam();
    assertEquals(1, seznamPolozek.size());
}