來自Enterprise JavaBeans 3.1的第4章代碼如果您需要更多的代碼或信息,請問!運行集成測試的問題EJB
public class SimpleCalculatorIntegrationTest {
private static SimpleCalculatorBean calc;
private static Context namingContext;
private static final String JNDI_NAME_CALC = "java:global/SimpleCalculatorEJB/SimpleCalculatorBean";
@BeforeClass
public static void obtainProxyReferences() throws NamingException {
namingContext = new InitialContext();
calc = (SimpleCalculatorBean) namingContext.lookup(JNDI_NAME_CALC);
}
@Test
public void testAddition() {
int expectedSum = 1 + 2 + 3 + 4; // 10
assertEquals(expectedSum, calc.add(1, 2, 3, 4));
}
}
堆棧跟蹤:
11.okt.2011 20點41分28秒com.sun.enterprise.v3.server.CommonClassLoaderServiceImpl findDerbyClient信息:找不到JavaDB之外的客戶端jar文件,JDBC德比 驅動程序默認情況下不可用。了java.lang.RuntimeException:在 org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getORB(GlassFishORBHelper.java:180) 初始化ORB erorr 在 com.sun.enterprise.naming.impl.SerialContext.getORB(SerialContext的.java:365) 在 com.sun.enterprise.naming.impl.SerialContext.getProviderCacheKey(SerialContext.java:372) 在 com.sun.enterprise.naming.impl.SerialContext.getRemoteProvider(SerialContext.java:402 ) 在 com.sun.enterprise.naming.impl.SerialContext.getProvider(SerialContext.java:347) 在 com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:504) 在 com.sun.enterprise.naming.impl.SerialContext.lookup(SerialContext.java:455) 在javax.naming.InitialContext.lookup(InitialContext.java:392)在 no.breakpoint.ejbbook.calculator.test.SimpleCalculatorIntegrationTest .obtainProxyReferences(SimpleCalculatorIntegrationTest.java:24) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本機方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl .java:25) at java.lang.reflect.Method.invoke(Method.java:597)at org.junit.runners.model.FrameworkMethod $ 1.runReflectiveCall(FrameworkMethod.java:44) at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15) 在 org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41) 在 org.junit.internal .runners.statements.RunBefores.evaluate(RunBefores.java:27) at org.junit.runners.ParentRunner.run(ParentRunner.java:236)at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests在 org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)(JUnit4TestReference.java:50) (RemoteTestRunner.java:467) at org.eclipse.jdt.inter nal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 在 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 在 org.eclipse.jdt。 internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 由於:java.lang.NullPointerException在 org.glassfish.enterprise.iiop.api.GlassFishORBHelper.getORB(GlassFishORBHelper.java:152) .. 。23多
您是否在容器中執行測試(即使用Arquillian?)。 如果您在容器外運行,請確保您沒有使用本地或非接口EJB視圖,因爲您試圖從另一個JVM訪問它。 –
@PedroKowalski你有5分鐘來參加Java聊天嗎?我真的會提供一些幫助,以便繼續下一章。 – LuckyLuke