tutorial example java unit-testing testng

java - example - ¿Cómo ejecutar una prueba de la suite grande de TestNG usando testng.xml?



testng selenium (6)

Tengo una suite de TestNG con gran cantidad de métodos. Ejecuto esta suite usando un envoltorio construido sobre el corredor TestNG. Todas las pruebas en la suite fallan, excepto una. ¿Qué debo escribir en testng.xml para ejecutar solo una prueba fallida?

La solución obvia es asignar nombres de grupo únicos a todos los métodos y luego especificar el nombre en testng.xml. Esto puede funcionar en el caso de 2 ó 3 métodos, pero se hace más difícil a medida que aumenta la cantidad de pruebas.


Después de cada ejecución, TestNG crea un archivo llamado testng-failed.xml que contiene solo las pruebas que fallaron. Solo invoca TestNG nuevamente en ese archivo:

java org.testng.TestNG testng.xml java org.testng.TestNG testng-failed.xml

(Reemplace org.testng.TestNG con su propio corredor ya que parece que usa uno personalizado).


Hay varios métodos para hacer esto.

¿Estás utilizando Eclipse para el desarrollo? Hay un plugin de Eclipse para TestNG y creo que sería la forma más fácil de ejecutar pruebas específicas. El complemento le permite ejecutar un conjunto, grupo, clase o método de prueba disponible.

De lo contrario, creo que puede configurar una tarea ant para iniciar la prueba ( http://testng.org/doc/ant.html ) y utilizar atributos como "classfilesetref" para proporcionar una lista de pruebas para ejecutar. Puede especificar la prueba en un archivo separado para no tener que actualizar el build.xml cada vez que ejecute la prueba.

Para instalar testng Plugin.Just Siga los pasos: 1-Vaya al menú "Ayuda" en Eclipse. 2-Seleccione "Instalar nuevo software" ". 3-Agregar" http://beust.com/eclipse ".

Funciona en caso de que el error que especificó creo que no tiene el complemento instalado dentro del IDE de Eclippse


Prueba esto:

<classes> <class name="test.IndividualMethodsTest"> <methods> <exclude name="testMethod" /> </methods> </class> </classes>


Seleccione el método de prueba en el programa y vaya al menú superior "Ejecutar" -> "Ejecutar", o haga CTRL + F11, esto iniciará la prueba independientemente del conjunto de pruebas XML.


También puede crear su propio ITestListener (ya que de todos modos tiene su propio contenedor) que realiza un seguimiento de los fallos y, a continuación, genera su propio archivo de suite de fallos que contiene solo la prueba fallida. Los ganchos de escucha / interceptor de TestNG son bastante buenos. En el trabajo hemos ampliado TestNG usándolos de varias maneras:

  • captura / reproducción de conjuntos de datos generados
  • registro de resultados en una base de datos
  • salida de prueba personalizada (registros)
  • metadatos, como ID, descripciones, para los conjuntos de datos proporcionados por un @DataProvider
  • Verificaciones en tiempo de ejecución de restricciones dependientes del entorno en casos de prueba

En lugar de exclude , puede utilizar include . Será exactamente lo que quieras. Solo esta prueba será ejecutada.

<classes> <class name="test.IndividualMethodsTest"> <methods> <include name="testMethod" /> </methods> </class> </classes>