Arquillian

Arquillian es una plataforma de pruebas java que permite a los desarrolladores crear fácilmente pruebas automatizadas de integración, funcionales y de aceptación para JEE.

Características

Arquillian facilita la construcción del producto que se va a probar, el despliegue y la ejecución de las pruebas dentro de un contenedor JEE. Específicamente ayuda a:

  • Manejar el ciclo de vida del contenedor (o contenedores)
  • Empaquetar los casos de prueba, las clases y los recursos dependientes en un archivo ShrinkWrap (o archivos)
  • Desplegar del archivo (o archivos) en el contenedor (o contenedores)
  • Enriquecer el caso de prueba, proporcionando la inyección de dependencia y otros servicios declarativos
  • Ejecutar las pruebas en el interior del contenedor
  • Capturar los resultados y su devolución a quién llamó la ejecución de las pruebas para la presentación de informes

Arquillian se integra perfectamente con los frameworks familiares de prueba (por ejemplo, JUnit 4, TestNG 5), permitiendo que las pruebas sean lanzadas desde distintos IDE (Eclipse, Netbeans, ..) a través de Ant y Maven.

Cómo usar Arquillian

En términos generales, hay tres pasos básicos para utilizar Arquillian:

  1. Incluir en el proyecto las dependencias necesarias
  2. Indicar en cada archivo de prueba que se va a utilizar Arquillin escribiendo la anotación @RunWith(Arquillian.class)
  3. Definir el método para construir el empaquetado de lo que se va a probar

Los detalles, en especial lo relacionado con cuáles dependencias se deben incluir, se pueden encontrar en la guía de uso de Arquillian. También se puede ver un ejemplo en los talleres:

Dependencias para el proyecto

Dado que estas dependencias serán utilizadas tanto en la capa lógica como en la capa de servicios (se verá en un paso posterior), incluiremos las dependencias en el POM del proyecto padre, de manera que sean definidas en un solo lugar y los proyectos de lógica hereden esta configuración.

La dependencia arquilliam-bom en dependencyManagement permite configurar la versión de Arquillian y de sus dependencias transitivas.

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.jboss.arquillian</groupId>
            <artifactId>arquillian-bom</artifactId>
            <version>1.1.11.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>
<dependencies>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.12</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.junit</groupId>
        <artifactId>arquillian-junit-container</artifactId>
    </dependency>
    <dependency>
        <groupId>org.glassfish.main.extras</groupId>
        <artifactId>glassfish-embedded-all</artifactId>
        <version>4.1.1</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>org.jboss.arquillian.container</groupId>
        <artifactId>arquillian-glassfish-embedded-3.1</artifactId>
        <version>1.0.0.CR4</version>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>uk.co.jemos.podam</groupId>
        <artifactId>podam</artifactId>
        <version>6.0.2.RELEASE</version>
    </dependency>
</dependencies>

results matching ""

    No results matching ""