TestNG, donde NG significa «next generation» es un framework de automatización de pruebas inspirado en JUnit (en Java) y NUnit (en C#). TestNG se puede utilizar para pruebas unitarias, pruebas funcionales, pruebas de integración y pruebas de extremo a extremo.
TestNG ha ganado mucha popularidad rápidamente y es uno de los marcos de prueba más utilizados entre los desarrolladores de Java. Utiliza principalmente anotaciones Java para configurar y escribir métodos de prueba, muy similares a JUnit.
Introducción de TestNG
Algunas características que TestNG tiene sobre JUnit:
- Anotaciones adicionales Antes y Después, como Antes/Después de la Suite y Antes/Después del Grupo
- Prueba de dependencias
- Agrupación más flexible de métodos de prueba
- Ejecución multiproceso
- Marco de informes sólido incorporado
TestNG está escrito en Java y se puede usar con Java y otros lenguajes relacionados con Java, como Groovy.
En TestNG, las suites y las pruebas se configuran o describen principalmente a través de archivos XML. Por defecto, el nombre del archivo es testng.xml
, pero podemos darle cualquier otro nombre si queremos.
TestNG permite a los desarrolladores escribir los conjuntos de pruebas en archivos XML y permitirles incluir (o excluir) los paquetes, clases y métodos respectivos en su conjunto de pruebas. También permite a los desarrolladores agrupar métodos de prueba en grupos con nombres particulares e incluirlos o excluirlos como parte de la ejecución de la prueba.
Ventajas de TestNG
Ahora descubramos más características / ventajas que ofrece TestNG.
- Múltiples opciones de anotación Antes y después
- Configuración de prueba basada en XML y definición del conjunto de pruebas
- Métodos dependientes
- Grupos con nombre / Grupo de grupos
- Grupos dependientes
- Parametrización de métodos de prueba
- Pruebas basadas en datos
- Ejecución de pruebas de subprocesos múltiples
- Mejores informes
Instalación de TestNG en Eclipse
Antes de que podamos descargar y comenzar a usar TestNG, debemos tener un mínimo de Java 8 o superior instalado en nuestro sistema.
Copie la URL de actualización más reciente del sitio de actualización.
Utilice la URL anterior para instalar compatibilidad con pruebas en Eclipse. Vaya a la opción: Ayuda > Instalar software nuevo.
Haga clic en el botón Agregar y elija los componentes necesarios para instalar.
Acepte cualquier acuerdo de licencia si se le solicita. El soporte de pruebas se instalará en los próximos minutos en el IDE de Eclipse.
Puede solicitar reiniciar el IDE después de finalizar la instalación. Por favor, reinicie.
Crear un proyecto Java con Dependencias de prueba
Antes de escribir nuestra primera prueba de prueba, tenemos que crear un proyecto Java en Eclipse e incluir nuestras dependencias de prueba.
Vaya a Archivo / Nuevo / Otro. Se mostrará una ventana con múltiples opciones.
Seleccione Nuevo proyecto Maven como se muestra en la siguiente captura de pantalla y haga clic en Siguiente.
Seleccione el arquetipo de maven.
Rellene las coordenadas Maven del proyecto.
De forma predeterminada, Maven incluye la dependencia Junit en el archivo pom.xml
. Necesitamos eliminar la dependencia de JUnit e incluir la última dependencia de TestNG.
<dependency><groupId>org.testng</groupId><artifactId>testng</artifactId><version>7.4.0</version><scope>test</scope></dependency>
Ahora estamos listos para escribir nuestras pruebas usando TestNG.
Creando Nuestra Primera clase de prueba
Antes de esto, puede eliminar cualquier clase de prueba JUnit de creación automática existente, si la hay. Ahora, realice los siguientes pasos para crear nuestra primera clase de prueba:
1. Vaya a Archivo / Nuevo / Otro. Esto abrirá una nueva ventana del asistente para agregar en Eclipse.
2. Seleccione Clase TestNG en la ventana Agregar asistente y haga clic en Siguiente.
3. En la siguiente ventana, haga clic en el botón Examinar y seleccione el proyecto Java donde necesita agregar su clase.
4. Introduzca el nombre del paquete y el nombre de la clase de prueba y haga clic en Finalizar.
5. Esta ventana también le da la opción de seleccionar diferentes anotaciones al crear una nueva clase TestNG. Si se selecciona, el complemento generará métodos ficticios para estas anotaciones mientras genera la clase. Esto agregará una nueva clase TestNG a nuestro proyecto.
package com.howtodoinjava.testng.examples;import org.testng.annotations.Test;import org.testng.annotations.BeforeTest;import org.testng.annotations.AfterTest;public class AppTest { @Test public void f() { } @BeforeTest public void beforeTest() { } @AfterTest public void afterTest() { }}
Hemos añadido con éxito una nueva clase de prueba TestNG al proyecto Java recién creado en Eclipse. No dude en modificar el código según sea necesario. Ahora vamos a ejecutar la clase de prueba recién creada a través de Eclipse.
Prueba de ejecución de pruebas
5.1. Opciones de acceso directo
Observe la clase de prueba en el IDE de Eclipse. Verá algunos textos borrosos como «Ejecutar todo»o» Ejecutar | Depurar». Estos son los accesos directos que podemos usar para ejecutar o depurar un único método de prueba o clase de prueba con un simple clic del ratón.
Si no ve los accesos directos anteriores por cualquier motivo, siga los pasos dados para crear la configuración de ejecución de prueba y ejecutarla.
5.2. Crear configuración de ejecución
Realice los siguientes pasos para ejecutar pruebas a través de Eclipse:
1. Seleccione el proyecto Java en Eclipse y vaya a Ejecutar / Ejecutar configuración.
2. Seleccione TestNG en las opciones dadas y haga clic en el botón Nuevo para crear una nueva configuración.
3. Tenga en cuenta que el complemento TestNG proporciona múltiples opciones para ejecutar sus casos de prueba de la siguiente manera:
- Clase: Usando esta opción, puede proporcionar el nombre de la clase junto con el paquete para ejecutar solo dicha clase de prueba específica.
- Método: Con esto, solo puede ejecutar un método específico en una clase de prueba.Grupos
- : En caso de que desee ejecutar métodos de prueba específicos que pertenezcan a un grupo de pruebas en particular, puede ingresar los que se ejecutarán aquí.Paquete
- : Si desea ejecutar todas las pruebas dentro de un paquete, puede especificarlas en este cuadro.
- Suite: En caso de que tenga archivos suite en forma de archivos
testing.xml
, puede seleccionarlos aquí para su ejecución.
Introduzcamos el nombre de configuración como TestNGRunConfig
y seleccionemos la clase recién creada en la sección Clase y hagamos clic en Aplicar.
4. Ahora, si desea ejecutar la configuración recién creada, simplemente haga clic en Ejecutar después de hacer clic en Aplicar.
Esto compilará y ejecutará la clase de prueba TestNG que hemos escrito. El resultado de la ejecución de la prueba se muestra en la Consola y los resultados en windows of Eclipse, como se muestra en la siguiente captura de pantalla.
Running: C:\Users\somelocalpath\testng-customsuite.xmlPASSED: f=============================================== Default test Tests run: 1, Failures: 0, Skips: 0==============================================================================================Default suiteTotal tests run: 1, Failures: 0, Skips: 0=============================================== Time taken by org.testng.reporters.XMLReporter@177b3cd: 23 ms Time taken by : 0 ms Time taken by org.testng.reporters.jq.Main@b8deef: 46 ms Time taken by org.testng.reporters.JUnitReportReporter@10ab323: 12 ms Time taken by org.testng.reporters.EmailableReporter2@5e176f: 13 ms Time taken by org.testng.reporters.SuiteHTMLReporter@d1e89e: 142 ms
También puede ejecutar la clase de prueba seleccionándola y, a continuación, haciendo clic con el botón derecho en ella, seleccionando Ejecutar como en el menú y, a continuación, eligiendo TestNG Test.
En este tutorial de TestNG, aprendimos sobre TestNG, las características ofrecidas por TestNG, la instalación del complemento TestNG en Eclipse y la escritura y ejecución de pruebas TestNG a través de Eclipse.
Feliz Aprendizaje !!