Por ahora hemos visto cómo efectuar un test Hola Mundo con Arquillian y WildFly, y cómo portar dicho test a Arquillian + TomEE.
Hoy veremos cómo ejecutar ese test contra GlassFish, usando su adaptador managed.
1.Configuración de dependencias
En teoría, lo único que debería cambiar a nivel de dependencias son las librerías de arquillian para GlassFish (cambio #1).
Modificaremos build.gradle
para utilizar org.jboss.arquillian.container:arquillian-glassfish-managed-3.1:1.0.0.Final-SNAPSHOT
, como sigue:
// ***************************************************************************** // GlassFish managed testRuntime 'org.jboss.arquillian.container:arquillian-glassfish-managed-3.1:1.0.0.Final-SNAPSHOT'
2. Código
El mismo que para WildFly y para TomEE.
3. Configuración de Runtime
Aunque tocaría ahora, ya hemos cambiado las dependencias de tiempo de ejecución para tests más arriba.
Debemos cambiar el archivo arquillian.xml
para configurar el servidor managed de GlassFish (cambio #2), que quedará como sigue:
<?xml version="1.0" encoding="UTF-8"?> <arquillian xmlns="http://jboss.org/schema/arquillian" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.org/schema/arquillian http://jboss.org/schema/arquillian/arquillian_1_0.xsd"> <container qualifier="glassfish-managed" default="true"> <configuration> <property name="glassFishHome">/home/pagdev/pagde/tool/glassfish-4.1/</property> </configuration> </container> </arquillian>
La única propiedad obligatoria de esta configuración es glassFishHome
, que debe apuntar al directorio de instalación de GlassFish.
4. Ejecutar tests
Se ejecutan exactamente igual:
gradle test --tests *Test
Notas
Tan solo hemos tenido que hacer dos cambios para poder lanzar el test más simple posible usando un bean EJB.
Gradle tardó en ejecutar el test contra GlassFish managed alrededor de 18 segundos, y contra WildFly managed sobre los 11 segundos, y a lo largo de numerosas ejecuciones los tiempor variaron no más de 2 segundos. Contra Tomcat embedded, los tests se ejecutaron en torno a 6 o 7 segundos.
Software utilizado
Esto ha sido probado con GlassFish 4.1 y Arquillian 1.1.8, usando Gradle 2.3.