Nastavenie priority v TestNG

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");
}