Nastavenie priority v TestNG

Nastavenie priority v TestNG
3 MIN
22 mar 2024

V automatizácii sa mnohokrát vyžaduje, aby sme nakonfigurovali našu testovaciu platformu tak, aby sa testovacie metódy spúšťali v určitom poradí, alebo aby sme niektorým testovacím metódam dali prednosť pred inými.

TestNG nám umožňuje riešiť takéto scenáre poskytnutím atribútu priority v rámci anotácie @Test. Nastavením hodnoty tohto atribútu priority môžeme zoradiť testovacie metódy podľa našich potrieb.

Obsah

Parameter priority

Hodnotu priority môžeme testovacej metóde priradiť takto:

@Test(priority=1)

Predvolená priorita

Predvolená priorita metódy Test, ak nie je špecifikovaná, je celočíselná hodnota 0. Ak teda máme jeden testovací prípad s prioritou 1 a jeden bez hodnoty priority, potom sa najprv vykoná test bez hodnoty priority (keďže predvolená hodnota bude 0 a najprv sa vykonajú testy s nižšou prioritou).

Úryvok kódu

@Test(priority = 1) 

public void testMethodA() { 

   System.out.println("Executing - testMethodA");

} 

@Test 

public void testMethodB() { 

   System.out.println("Executing - testMethodB");

}

@Test(priority = 2) 

public void testMethodC() { 

   System.out.println("Executing - testMethodC");

}

Výstup

Executing – testMethodB

Executing – testMethodA

Executing – testMethodC

Tu vidíme, že testMethodB sa vykonala ako prvá, pretože mal predvolenú prioritu 0. Keďže ostatné testy mali prioritu 1 a 2, poradie vykonávania bolo testMethodB, potom testMethodA a potom testMethodC.

Záporná priorita

Ak chceme testovacej metóde priradiť vyššiu prioritu, ako je predvolená priorita, potom môžeme atribútu priority tejto testovacej metódy jednoducho priradiť zápornú hodnotu.

@Test(priority = -1) 

public void testMethod() { 

   System.out.println("Priority higher than default");

}