Establecer la prioridad en TestNG

En automatización, muchas veces se nos pide que configuremos nuestra plataforma de pruebas para ejecutar métodos de prueba en un orden determinado, o para dar prioridad a ciertos métodos de prueba sobre otros.
TestNG nos permite abordar estos escenarios proporcionando un atributo de prioridad dentro de la anotación @Test. Fijando el valor de este atributo de prioridad, podemos ordenar los métodos de prueba según nuestras necesidades.
Índice
Parámetro de prioridad
Podemos asignar un valor de prioridad a un método de prueba del siguiente modo:
@Prueba(prioridad=1)
Prioridad por defecto
La prioridad por defecto del método Prueba, si no se especifica, es un valor entero de 0. Así, si tenemos un caso de prueba con un valor de prioridad 1 y otro sin valor de prioridad, se ejecutará primero la prueba sin valor de prioridad (ya que el valor por defecto será 0 y se ejecutarán primero las pruebas con menor prioridad).
Fragmento de código
@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");
}
Obtenido de
Ejecutando – testMethodB
Ejecutando – testMétodoA
Ejecutando – testMethodC
Aquí vemos que testMethodB se ejecutó primero porque tenía una prioridad por defecto de 0. Como las otras pruebas tenían prioridad 1 y 2, el orden de ejecución era pruebaMétodoB, luego pruebaMétodoA y luego pruebaMétodoC.
Prioridad negativa
Si queremos asignar a un método de prueba una prioridad mayor que la prioridad por defecto, basta con asignar un valor negativo al atributo prioridad de ese método de prueba.
@Test(priority = -1)
public void testMethod() {
System.out.println("Priority higher than default");
}