Java 使用嵌入式容器进行EJB3单元测试

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

使用glassfish可嵌入容器测试EJB3,但是这个调用似乎总是返回null,有什么想法吗

//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");