我正在使用(EJB,JPA和JPQL)在JAVA EE中创建一个简单的Web应用程序。我想知道如何使用到的Mockito测试EJB来测试模型。我想嘲笑上下文(数据库和属性)在Java EE中的Junit测试(JPA)
我该怎么办呢?
@Mock
private EntityManager mockedEntityManager;
private static TendererBean tendererBean;
private static TendererManagerBean tendererManagerBean;
private static EJBContainer container;
final Properties p = new Properties();
p.put("jdbc/Mydatabase", "new://Resource?type=DataSource");
p.put("jdbc/Mydatabase.JdbcDriver", "apache_derby_net");
p.put("jdbc/Mydatabase.JdbcUrl", "jdbc:derby://localhost:1527/Mydatabase");
container = EJBContainer.createEJBContainer(p);
final Context context = container.getContext();
tendererBean = (TendererBean) context.lookup("java:global/classesTendererManagerBean");
我看你想使用derby,这样的。而不是问“我怎么做”,说明你与你的尝试遇到的问题。 – Gimby
是的,问题是我想要为我的EJB方法(如注册,更新和删除)创建测试单元,因为我应该嘲笑我的上下文,在我的应用程序中使用JSF,EJB和JPA进行持久化 –
你使用CDI?依赖注入使测试/模拟变得更容易。如果你不使用它,那么我会建议先查看依赖注入。 – Kai