Java 使用嵌入式容器进行EJB3单元测试
使用glassfish可嵌入容器测试EJB3,但是这个调用似乎总是返回null,有什么想法吗Java 使用嵌入式容器进行EJB3单元测试,java,ejb,Java,Ejb,使用glassfish可嵌入容器测试EJB3,但是这个调用似乎总是返回null,有什么想法吗 //from JUnit EJBContainer ejc = javax.ejb.embeddable.EJBContainer.createEJBContainer(); 看一看使用openejb使其正常工作。下面是如何让它启动openejb容器进行测试。在JUnit代码中,添加以下内容(理想情况下,在setUpClass中) 现在,您可以在MyEJB对象b上调用业务方法。请确保遵循所有pre
//from JUnit
EJBContainer ejc = javax.ejb.embeddable.EJBContainer.createEJBContainer();
看一看使用openejb使其正常工作。下面是如何让它启动openejb容器进行测试。在JUnit代码中,添加以下内容(理想情况下,在setUpClass中)
现在,您可以在MyEJB对象b上调用业务方法。请确保遵循所有prereq:如果该方法返回null,它还将抛出带有堆栈跟踪的异常。如果不发布这些信息,你会得到只会猜测你的问题所在的答案。除了堆栈跟踪之外,我建议发布一些代码来重现这个问题,因为这个方法调用总是在我的工作站中工作。当被问及EJB3测试时,Jetty是一个servlet容器
Properties props = new Properties();
props.setProperty(Context.INITIAL_CONTEXT_FACTORY,"org.apache.openejb.client.LocalInitialContextFactory");
InitialContext context = new InitialContext(props);
MyEJB b = (MyEJB) context.lookup("MyEJBLocalBean");