Patrones de prueba para beans EJB

Puede utilizar los patrones de prueba de EJB como ayuda para el proceso de probar los EJB. Estos patrones de prueba incluyen el patrón de prueba del ciclo de vida del EJB, el patrón de prueba de la lógica comercial del EJ y el patrón de prueba de la fachada de sesión de EJB.

Con las características de prueba de componentes automatizados, puede probar los EJB remotamente a través de sus interfaces remotas (remota e inicial) o localmente a través de sus interfaces locales (local e inicial local). Al efectuar pruebas localmente, la prueba se despliega en el mismo servidor de aplicaciones que el bean EJB que se está probando.

Visión general del patrón de prueba del ciclo de vida del EJB

Utilice el patrón de prueba del ciclo de vida del EJB para crear pruebas para probar los métodos del ciclo de vida de un EJB (crear nuevos beans, eliminar beans y buscar beans). Para cada método del ciclo de vida publicado en la interfaz inicial o inicial local, hay un método de llamada de retorno correspondiente en la clase de bean del EJB que define su implementación. Por ejemplo, para cada método create de la interfaz inicial hay un método ejbCreate correspondiente en la clase de bean.

El patrón del ciclo de vida le ayuda a probar métodos de llamada de retorno simulando varios casos prácticos que podrían hacer que las llamadas de retorno fallaran. Este patrón de prueba también comprueba si el estado de un bean es correcto, en el caso de beans de sesión y beans de entidad con estado. Un ejemplo de esto sería probar el valor de los campos de la clase de bean. Para probar estos valores, suministrará datos significativos en la tabla de datos de prueba.

El patrón del ciclo de vida generará código de prueba automáticamente para los casos prácticos esperados para cada tipo de bean, simplificando así la tarea de probar los EJB.

Patrón de prueba del ciclo de vida para beans de sesión sin estado

Para probar un bean de sesión sin estado utilizando el patrón de prueba del ciclo de vida, se genera código para probar los métodos de llamada de retorno ejbCreate() y ejbRemove() que están implementados en la clase de bean del EJB. Se prueban los siguientes métodos de llamada de retorno:

Se incluyen los siguientes casos prácticos de prueba:

Patrón de prueba del ciclo de vida para beans de sesión con estado

Para probar un bean de sesión con estado utilizando el patrón de prueba del ciclo de vida, se genera código para probar el estado del bean, además del código generado para probar ejbCreate() y ejbRemove() Se prueban los siguientes métodos de llamada de retorno:

Se incluyen los siguientes casos prácticos de prueba:

Patrón de prueba del ciclo de vida para beans de entidad con persistencia gestionada por contenedor y gestionada por bean

Para probar beans de entidad utilizando el patrón de prueba del ciclo de vida, debe generarse código adicional para probar la persistencia y búsquedas en la base de datos. Se prueban los siguientes métodos de llamada de retorno:

Se incluyen los siguientes casos prácticos de prueba:

Patrón de prueba de la lógica comercial de EJB

Utilice el patrón de prueba de la lógica comercial de EJB para probar la lógica comercial. La lógica comercial suele implementarse en beans de sesión aunque, a veces, los beans de entidad pueden contener lógica comercial. Asegúrese de probar la lógica comercial en sí, es decir, los algoritmos que procesan datos en parámetros y utilice la tabla de datos de prueba para realizar pruebas en una amplia gama de datos de entrada.

El patrón de prueba de fachada de sesión de EJB

Utilice el patrón de prueba de fachada de sesión de EJB para probar la implementación del patrón de diseño de la Fachada de sesión. Este patrón de diseño se utiliza para proporcionar una interfaz de lógica comercial de nivel superior, para ocultar al cliente la complejidad de la aplicación y para mejorar el rendimiento. El patrón de diseño de la Fachada de sesión es la versión EJB del conocido patrón de fachada J2SE. Un caso de uso común del patrón de Fachada de sesión de prueba es probar un bean de sesión que llama a un bean de entidad local. Al igual que el patrón de Fachada de sesión, que normalmente acomoda un conjunto de beans de entidad (el subsistema) en una capa de beans de sesión (la fachada de sesión), el patrón de prueba de fachada de sesión genera pruebas para el subsistema tras la fachada. Una página de asistente de prueba le permite seleccionar un EJB (normalmente un bean de sesión) y un conjunto de métodos en su interfaz comercial.

Por ejemplo, imagine un subsistema que consta de EJB:

El EJB TransferFunds contiene un método transferFunds, tal como se muestra en el código siguiente:

public void transferFunds(String accountId1, String accountId2, int amount){

     BankAccountHome bankAccountHome=getHome("",...);

     BankAccount bankAccount=bankAccountHome.findByPrimaryKey(accountId1); CardAccountHome cardAccountHome=getHome("",...);

     CardAccount cardAccount=cardAccountHome.findByPrimaryKey(accountId2);

     bankAccount.withDraw(amount);

     cardAccount.deposit(amount);

}

Examinando el método transferFunds observará lo siguiente:

En este caso, el EJB TransferFunds es la fachada y el subsistema sometido a prueba consta de los EJB BankAccount y CardAccount. Puede utilizar Prueba de componentes automatizada para generar una prueba de los métodos del subsistema, es decir, findByPrimaryKey; findByPrimaryKey; withDraw; y deposit.

Conceptos relacionados
Proceso de generación de pruebas
Patrones de prueba Java estándar

Tareas relacionadas
Crear nuevos proyectos de prueba de componentes
Crear pruebas para los métodos de ciclo de vida de beans de entidad
Crear pruebas para los métodos de ciclo de vida de beans de sesión
Crear pruebas para métodos comerciales EJB
Crear pruebas para una fachada de sesión EJB

Condiciones de uso | Comentarios
(C) Copyright IBM Corporation 2000, 2004. Reservados todos los derechos.