我正在尝试为具有注入的EntityManager的无状态会话bean编写JUnit测试:
@Stateless
public class MyServiceBean implements MyService, ... {
@PersistenceContext
private EntityManager em;
....
当然,在没有做任何事情的情况下,em在测试流程中仍然是空的......
测试应该独立运行(不在Java EE容器中)。
我该怎么办? (简单的解决方案将非常受欢迎: - )
答案 0 :(得分:3)
简单的答案是不要那样做,如果你想在实际工作应用程序中注入持久性上下文,请使用嵌入式/外部服务器进行测试。有关测试EJB和JPA的更多信息,请访问:Best current framework for unit testing EJB3 / JPA
答案 1 :(得分:0)
如果你想测试你的数据访问逻辑(标准代码,jpql查询等),我要做的就是使用HSQLDB。无需模拟EntityManager或拥有Java EE容器,它可以很好地与构建过程集成。