TestNG es un potente marco de pruebas que permite a los desarrolladores escribir pruebas flexibles con funciones de agrupación, secuenciación y basadas en datos; incluso facilita la escritura de pruebas paralelas. Y la característica más poderosa, en mi opinión, es un conjunto de oyentes que se engancha a TestNG, lo que permite controlar mejor los casos de prueba, o aumentar los informes, etc.
El complemento TestNG Eclipse le da la capacidad de ejecutar y depurar casos de prueba de TestNG dentro del IDE de Eclipse.
Este artículo comparte algunos consejos sobre cómo ser eficiente al crear y ejecutar pruebas con el complemento TestNG Eclipse.
Instalación
El complemento de prueba para Eclipse está disponible en Eclipse Marketplace, siga la guía de instalación.
Use el complemento TestNG Eclipse
Pruebas de autoría
Cuando cree los casos de prueba TestNG, las plantillas predefinidas definitivamente pueden ayudarlo a ser más eficiente. Para crear un método de prueba, en el editor, escriba test
, luego presione la tecla de acceso rápido Content Assist (‘Alt+/’ en mi caso), seleccione la plantilla como se muestra a continuación:
Nota: Habrá más plantillas disponibles en TestNG Eclipse Plugin 6.10.1, por ejemplo, ‘setup’, ‘teardown’, etc.
Ejecutar / Depurar pruebas
Lanzar pruebas
Hay varias formas de iniciar pruebas, lo cual es muy útil. Estas son las diferentes formas en que se puede hacer:
- Haciendo clic con el botón derecho en la clase de prueba o en el editor de fuentes, para ejecutar esa prueba.
- Haciendo clic derecho en el paquete, para ejecutar todas las pruebas bajo el paquete.
- Haga clic con el botón derecho en el archivo xml de la suite de pruebas para ejecutar la suite de pruebas personalizada.
- O, vaya a Configuración de ejecución para un mejor control de la configuración de inicio, por ejemplo, el grupo de prueba que se va a ejecutar; pase las propiedades del sistema al proceso de prueba en tiempo de ejecución, etc.
Volver a ejecutar Pruebas fallidas
Si tiene varias pruebas fallidas, después de corregir el código de prueba, puede volver a ejecutar las pruebas fallidas por completo para ahorrar tiempo:
Integración de Maven
Si su proyecto está administrado por Maven, es posible que desee configurar maven-surefire-plugin
o maven-failsafe-plugin
para ejecutar el caso de prueba. Supongamos que pasa los siguientes argumentos JVM y propiedades del sistema al proceso de prueba en tiempo de ejecución:
<artifactId>maven-surefire-plugin</artifactId><configuration> <suiteXmlFiles> <suiteXmlFile>test-suite/testng.xml</suiteXmlFile> </suiteXmlFiles> <argLine>-javaagent:${settings.localRepository}/org/aspectj/aspectjweaver/${aspectj.version}/aspectjweaver-${aspectj.version}.jar -Xmx1024m -XX:MaxPermSize=512m -Xms256m -Xmx1024m -XX:PermSize=128m -Dversion=${project.version} </argLine> <systemPropertyVariables> <foo>${foo.value}</foo> </systemPropertyVariables> <environmentVariables> <bar>${bar.value}</bar> </environmentVariables></configuration>
Las pruebas funcionan bien con Maven cli, mvn -e test
, pero podrían fallar con cualquier versión del Plugin TestNG Eclipse anterior a la 6.9.10. En ese caso, tendría que copiar manualmente las propiedades del sistema para iniciar la configuración de cada prueba.
Afortunadamente, hoy en día, el complemento TestNG Eclipse puede analizar la configuración de maven-surefire/failsafe-plugin
, agregarlos automáticamente a la Configuración de inicio. De esta manera, también hace que el comportamiento esté lo más cerca posible de ejecutarse en la línea de comandos. Para más detalles, consulte la guía oficial.
Nota: La función equivalente para la integración de Gradle con Eclipse Buildship está en planificación, puedes rastrear el ticket aquí.
Plugin TestNG Eclipse Interno
Es útil comprender el núcleo del plugin TestNG Eclipse, especialmente cuando tienes problemas para usarlo.
Cuando se ejecuta una prueba, el complemento necesita obtener los resultados de la prueba del proceso de prueba en tiempo de ejecución y mostrarlos en la vista en tiempo real.
La comunicación entre el complemento y el proceso de prueba en tiempo de ejecución se realiza a través de socket. El plugin inicia primero el servidor de sockets. Mientras está en el proceso de prueba en tiempo de ejecución, hay un conjunto de oyentes que se conectan al tiempo de ejecución de prueba y envían los resultados de la prueba al complemento a través de socket.
Las funcionalidades de comunicación de socket se mantienen en el proyecto ‘testng-remote’ en GitHub.
Palabras finales
Seguimos mejorando la experiencia del complemento TestNG Eclipse, envíe sus comentarios e ideas sobre el proyecto GitHub aquí.
Sobre el Autor
Nick Tan
Ebates
- GitHub