2010-05-05 23 views
5

¿Alguien ha hecho esto o ha intentado hacer esto para un proyecto preexistente?
Parece que hay dos opciones para ir con aquí, ya sea usando el embedded EJB API básicamente la siguiente claseEJB 3.1 API integrada - Prueba de unidad entidades EJB + JPA

javax.ejb.embeddable.EJBContainer 

¿Qué espera un GlassFish v3 configurado instalar estar disponibles (recursos de la aplicación de ámbito harán que esto sea más fácil).

La alternativa es el uso de los archivos incrustados GlassFish frasco y la embedded glassfish API

Busco retroalimentación de alguien que tiene o que está en el proceso de hacer esto, enlaces a blogs, etc, con un simple caso de prueba EJB & son diez centavos.

Si ha hecho esto con cualquier otro contenedor EJB 3.1, siéntase libre de compartir.

  1. ¿Utilizaste algún marco de prueba en particular por alguna otra razón que no fuera tu herramienta preferida?
  2. ¿Qué implementación de JPA 2.0 usó, y había alguna razón particular para hacerlo?
  3. Si utilizó glassfish, ¿cuál de las estrategias anteriores usó? Si no, ¿qué contenedor EJB 3.1 usaste?
  4. Si lo hizo con éxito, ¿valió la pena el esfuerzo y lo haría de nuevo para otro proyecto existente?

Respuesta

4

Parece que hay dos opciones para ir con aquí, ya sea mediante la API de EJB incorporado (...), que espera un GlassFish v3 configurado instalar a estar disponible.

No, puede usar también un dominio mínimo dentro de su proyecto.

Busco retroalimentación de alguien que tiene o que está en el proceso de hacer esto, los enlaces a los blogs, etc, con un simple caso de prueba EJB & son diez centavos por docena.

que he hecho las pruebas de integración de EJB 3.1 y JPA en mi proyecto favorito (bajo Maven), inspirado por Unit Testing EJBs and JPA with Embeddable GlassFish. Leerlo definitivamente vale la pena.

¿Utilizaste algún marco de prueba en particular por alguna otra razón que no fuera tu herramienta preferida?

Nope.

¿Qué implementación de JPA 2.0 usó, y había alguna razón particular para hacerlo?

Utilicé EclipseLink (porque estaba disponible en ese momento).

Si utilizó glassfish, ¿cuál de las estrategias anteriores usó? Si no, entonces qué EJB 3.1 contenedor usaste?

Utilicé la API EJB integrada, planeaba ejecutar mi código en otros contenedores Java EE 6 cuando estuvieran disponibles.

Si lo hizo con éxito, ¿valió la pena el esfuerzo y lo haría de nuevo para otro proyecto existente?

Bueno, creo que las pruebas de integración/funcional tiene valor y encontrar que el Embedded API EJB es muy agradable para eso. No fue doloroso usarlo aunque no considere mi muestra como un proyecto de la vida real.

Para escenarios más complejos, vigilo el maven-embedded-glassfish-plugin (vea también this answer).

1

He escrito un small tutorial on my blog para utilizar glassfish incrustado 3.1 para EJBs de pruebas unitarias usando javax.ejb.embeddable.EJBContainer. Hay algunas trampas, que logré modificar modificando el dominio incrustado de glassfish por defecto y poniendo algunas propiedades en la llamada createEJBContainer().

Cuestiones relacionadas