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 el asistente Crear prueba para EJB, 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.

Nota: No puede probar un EJB a través de la interfaz local ni de la interfaz remota correspondientes en la misma prueba de componentes o suite de pruebas. Debe crear una prueba de componentes para probar a través de la interfaz local y de una segunda prueba de componentes para probar a través de la interfaz remota. Puede almacenar ambas pruebas de componentes en el mismo proyecto de prueba.

Patrón de prueba de ciclo de vida EJB

Utilice el patrón de prueba del ciclo de vida EJB para crear pruebas para verificar los métodos de ciclo de vida para un EJB (crear beans nuevos, eliminar bean y buscar beans.) Para cada método del ciclo de vida publicado en la interfaz inicial o inicial local, la clase de bean del EJB contiene un método de llamada de retorno correspondiente que define la 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. Para los beans de sesión con estado y los beans de entidad, este patrón de prueba también comprueba si el estado del bean es correcto. Un uso del patrón de prueba de ciclo de vida consiste en probar el valor de los campos en 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 de 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 lógica comercial de EJB

Utilice el patrón de prueba de lógica comercial de EJB para verificar 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. Además utilice la tabla de datos de prueba para realizar pruebas dirigidas por datos en una amplia gama de datos de entrada.

Patrón de prueba de fachada de sesión 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. El patrón de prueba de fachada de sesión se utiliza habitualmente para probar una sesión que llama a un bean de entidad local. El patrón de prueba de fachada de sesión genera pruebas para el bean de sesión y para los métodos de un subsistema (normalmente un bean de entidad) llamadas por la fachada de sesión. 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("",...);


     CardAccountHome cardAccountHome=getHome("",...);     
     CardAccount cardAccount=cardAccountHome.findByPrimaryKey(accountId2);

     bankAccount.withDraw(amount);

     cardAccount.deposit(amount);

}

El método transferFunds llama a los métodos siguientes:

En este caso, el EJB TransferFunds es la fachada y el subsistema sometido a prueba consta de los EJB BankAccount y CardAccount. Puede utilizar el asistente Crear prueba para generar una prueba de los métodos de la fachada y de los métodos del subsistema llamados por la fachada: los dos métodos findByPrimaryKey y withDraw y el 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
Comentarios
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.