Comment utiliser JUnit avec EJB3 et JPA

Je suis en train de tester mes Beans de Session avec JUnit, mais je ne peux pas. J'en ai essayé beaucoup de méthode, mais toujours quelques exceptions.
Voici ce que j'ai besoin de:

  • J'ai un peu de Beans de Session sans état j'ai besoin de tester. Chacun a le même @PersistenceContext et utilise un EntityManager
  • Avec mon cas de test j'ai besoin de tester leurs méthodes. Par exemple: si j'ajoute un utilisateur avec le nom d'utilisateur X et puis j'essaie d'ajouter un autre avec le même nom d'utilisateur, je veux attraper une Exception.

Quelqu'un peut-il fournir un moyen simple et générique court exemple de test? J'ai déjà lu beaucoup, mais je reçois toujours un message d'erreur (je reçois NullPointerException pour la EntityManager lorsque j'appelle une méthode comme: sessionBean.method() (qui, par exemple, entityManager.find(...)), ou je ne suis pas capable d'initialiser le Context, ou d'autres PersistenceException).

  • Comment écrivez-vous vos cas de test? Utilisez-vous certains cadre d'intégration comme Arquillian ou incorporé conteneur d'EJB comme OpenEJB?
  • J'ai essayé les deux (à l'aide de mockito en tant que cadre). Je ne sais pas comment les définir, ce que j'ai besoin d'importer... La méthode est très bien, de toute façon.
  • J'ai un exemple simple : stackoverflow.com/questions/6469751/testing-an-ejb-with-junit/... . Regarde ma réponse.
InformationsquelleAutor Simon | 2012-01-22