2010-05-05 17 views
5

Qualcuno ha fatto questo o ha tentato di farlo per un progetto preesistente?
sembra che ci siano due opzioni per andare in questa sede, sia utilizzando il embedded EJB API fondamentalmente la seguente classeEJB 3.1 Embedded API - Test unitario EJB + entità JPA

javax.ejb.embeddable.EJBContainer 

che si aspetta una v3 GlassFish configurato installare per essere disponibili (risorse applicative ambito renderanno questo più facile).

L'alternativa è usare i file incorporati GlassFish jar e il embedded glassfish API

Cerco feedback da qualcuno che ha o che è in procinto di fare questo, link ai blog ecc con un semplice caso di test EJB & sono una dozzina di dollari.

Se hai fatto questo con qualsiasi altro contenitore EJB 3.1 sentiti libero di condividere.

  1. Si è utilizzato un particolare framework di test per motivi diversi da quello che è stato il tuo strumento preferito?
  2. Quale implementazione JPA 2.0 hai utilizzato e c'era una ragione particolare per farlo?
  3. Se hai usato glassfish quale delle strategie sopra indicate hai usato? Se no, quale contenitore EJB 3.1 hai usato?
  4. Se l'operazione è andata a buon fine, ne è valsa la pena e lo ripeteresti per un altro progetto esistente?

risposta

4

sembra che ci siano due opzioni per andare in questa sede, sia utilizzando l'API EJB incorporato (...), che si aspetta un v3 GlassFish configurato installare sia disponibile.

No, si può utilizzare anche un dominio minimo all'interno del vostro progetto.

Cerco feedback da qualcuno che ha o che è in procinto di fare questo, link ai blog ecc con un semplice caso di test EJB & sono dime una dozzina.

Ho fatto il test integrazione di EJB 3.1 e JPA sul mio progetto preferito (sotto Maven), ispirato da Unit Testing EJBs and JPA with Embeddable GlassFish. Leggendolo ne vale sicuramente la pena.

Si è utilizzato un particolare framework di test per motivi diversi da quello che è stato il tuo strumento preferito?

No.

Quale implementazione JPA 2.0 è stata utilizzata e c'era una ragione particolare per farlo?

Ho usato EclipseLink (perché era disponibile in quel momento).

Se hai usato glassfish quale delle strategie sopra indicate hai usato? Altrimenti, quale EJB 3.1 contenitore hai usato?

Ho usato l'API EJB incorporata, stavo progettando di eseguire il mio codice su altri contenitori Java EE 6 quando saranno disponibili.

Se l'operazione è andata a buon fine, ne è valsa la pena e lo ripeteresti per un altro progetto esistente?

Beh, penso che l'integrazione di test/funzionali hanno un valore e scoprire che il embedded EJB API è veramente bello per questo. Non è stato un dolore usarlo anche se non considero il mio campione come un progetto di vita reale.

Per scenari più complessi, tengo d'occhio lo maven-embedded-glassfish-plugin (vedere anche this answer).

1

Ho scritto un small tutorial on my blog per l'utilizzo di glassfish 3.1 incorporato per gli EJB di test delle unità utilizzando javax.ejb.embeddable.EJBContainer. Ci sono alcune trappole ad esso, che ho ottenuto modificando il dominio glassfish incorporato predefinito e inserendo alcune proprietà nella chiamata createEJBContainer().