4it101»J Unit 21

J Unit 21

Delegovaný přístup

V komplexnějších případech, kdy je logika testu složitější a dochází k opakovanému vytváření stejného přípravku, vhodné je použít takzvaný delegován přístup vytvoření testovacího přípravku. Jde o provádění samostatných metod, které během jejich volání vytvoří testovací přípravek. Tyto pomocné metody jsou volané přímo z testovacích metod. Tyto metody mohou být tak voláno několika testy nezávisle, čímž je zajištěna přehlednost kódu a dojde i k odstranění duplicit v kódu testovací třídy.


public Objednavka vytvorenieObjednavky() {
    Objednavka objednavka = new Objednavka(123);
    objednavka.setStav("nová");
    Kniha kniha1 = new Kniha(456);
    Kniha kniha2 = new Kniha(789);
    objednavka.pridejPolozku(kniha1);
    objednavka.pridejPolozku(kniha2);
    return objednavka;
 }

public Objednavka vymazatPolozkyObjednavky() {
    Objednavka objednavka = vytvoreniObjednavky();
    objednavka.vymazatPolozky();
    return objednavka;
 }

@Test
public void testPripravek2() {
    //setup
    Objednavka objednavka = vytvoreniObjednavky();
    //exercise + verify
    assertEquals("nová", objednavka.getStav());
}

@Test
public void testPripravek3() {
    //setup
    Objednavka objednavka = vymazatPolozkyObjednavky();
    //exercise + verify
    assertEquals(0, objednavka.getSeznam().size());
}