Как мне проверить EJB 3.1, который получает экземпляр EntityManager, который был введен?
Возможный EJB:
@Stateless
@LocalBean
public class CommentService {
@PersistenceContext
private EntityManager em;
public List<Comment> findAll() {
TypedQuery<Comment> query = em.createNamedQuery(
Comment.FIND_ALL, Comment.class
);
return query.getResultList();
}
}
Возможный тест:
@Test
public void testFindAll() {
List<Comment> all = service.findAll();
Assert.assertEquals(8, all.size());
}
Я использую только GlassFish 3.1 и Eclipse Indigo для разработчиков Java EE. Я уже пробовал такие вещи:
@Before
public void setUp() throws Exception {
ejbContainer = EJBContainer.createEJBContainer();
service = (CommentService) ejbContainer.getContext()
.lookup("java:global/classes/CommentService");
}
Но все, что я получил, было:
javax.ejb.EJBException:
No EJBContainer provider available: no provider names had been found.