Establecer la prioridad en TestNG

Establecer la prioridad en TestNG
MIN
22 Mar 2024

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

}