hi ove, usually you shouldn't start the request-scope for the whole test-class. please have a look at our own tests [1] to see the most important use-cases. if you still have issues, please provide a demo-application which illustrates the constellation you would like to use (without workarounds).
regards, gerhard [1] https://github.com/apache/deltaspike/tree/master/deltaspike/modules/test-control/impl/src/test/java/org/apache/deltaspike/test/testcontrol 2014-10-15 18:54 GMT+02:00 Ove Ranheim <[email protected]>: > Hi, > > I'm looking into the ExternalContainer impl in test-control and it throws > the exception: No active contexts for scope type > javax.enterprise.context.RequestScoped > > Fair enough, but how do I start the ReqeustScope using cdictrl (?), since > it is the CdiTestControl that actually boots the container. > > @RunWith(PartsTestRunner.class) > @TestControl(startScopes = RequestScoped.class, startExternalContainers = > true) > public class CdiTest { > } > > @ApplicationScoped > public class UndertowTestContainer implements TestAware, ExternalContainer > { > ... > } > > And added > META-INF/services/org.apache.deltaspike.testcontrol.spi.ExternalContainer : > com.parts.server.undertow.container.UndertowTestContainer > > The documentation is slightly sparse, so hope you can advise. > > Best regards > Ove > > > Oct 15, 2014 6:48:39 PM > org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareTestContext > bootExternalContainers > WARNING: booting > com.parts.server.undertow.container.UndertowTestContainer$Proxy$_$$_WeldClientProxy > failed > org.jboss.weld.context.ContextNotActiveException: WELD-001303: No active > contexts for scope type javax.enterprise.context.RequestScoped > at > org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:687) > at > org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:79) > at > org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:99) > at > org.jboss.weld.proxies.DynamicMockManager$1289583109$Proxy$_$$_WeldClientProxy.getMock(Unknown > Source) > at > org.apache.deltaspike.testcontrol.impl.mock.MockAwareInjectionTargetWrapper.produce(MockAwareInjectionTargetWrapper.java:59) > at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:149) > at > org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96) > at > org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:98) > at > org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78) > at > com.parts.server.undertow.container.UndertowTestContainer$Proxy$_$$_WeldClientProxy.setTestClass(Unknown > Source) > at > org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareTestContext.bootExternalContainers(CdiTestRunner.java:522) > at > org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareTestContext.applyBeforeClassConfig(CdiTestRunner.java:458) > at > org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$BeforeClassStatement.evaluate(CdiTestRunner.java:360) > at > org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$AfterClassStatement.evaluate(CdiTestRunner.java:387) > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > at > org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner.run(CdiTestRunner.java:136) > at org.junit.runners.Suite.runChild(Suite.java:127) > at org.junit.runners.Suite.runChild(Suite.java:26) > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) > at > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) > at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > at org.junit.runner.JUnitCore.run(JUnitCore.java:138) > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:141) > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:114) > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:86) > at > org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:134) > at > org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) > at > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) > at > org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) > > 18:48:39.635 [main] WARN o.a.d.t.api.junit.CdiTestRunner - booting > com.parts.server.undertow.container.UndertowTestContainer$Proxy$_$$_WeldClientProxy > failed > org.jboss.weld.context.ContextNotActiveException: WELD-001303: No active > contexts for scope type javax.enterprise.context.RequestScoped > at > org.jboss.weld.manager.BeanManagerImpl.getContext(BeanManagerImpl.java:687) > ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55] > at > org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:79) > ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55] > at > org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:99) > ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55] > at > org.jboss.weld.proxies.DynamicMockManager$1289583109$Proxy$_$$_WeldClientProxy.getMock(Unknown > Source) ~[weld-core-2.2.4.Final.jar:na] > at > org.apache.deltaspike.testcontrol.impl.mock.MockAwareInjectionTargetWrapper.produce(MockAwareInjectionTargetWrapper.java:59) > ~[deltaspike-test-control-module-impl-1.0.3.jar:1.0.3] > at org.jboss.weld.bean.ManagedBean.create(ManagedBean.java:149) > ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55] > at > org.jboss.weld.context.AbstractContext.get(AbstractContext.java:96) > ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55] > at > org.jboss.weld.bean.proxy.ContextBeanInstance.getInstance(ContextBeanInstance.java:98) > ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55] > at > org.jboss.weld.bean.proxy.ProxyMethodHandler.invoke(ProxyMethodHandler.java:78) > ~[weld-core-2.2.4.Final.jar:2014-07-18 16:55] > at > com.parts.server.undertow.container.UndertowTestContainer$Proxy$_$$_WeldClientProxy.setTestClass(Unknown > Source) ~[test-classes/:na] > at > org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareTestContext.bootExternalContainers(CdiTestRunner.java:522) > [deltaspike-test-control-module-api-1.0.3.jar:1.0.3] > at > org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ContainerAwareTestContext.applyBeforeClassConfig(CdiTestRunner.java:458) > [deltaspike-test-control-module-api-1.0.3.jar:1.0.3] > at > org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$BeforeClassStatement.evaluate(CdiTestRunner.java:360) > [deltaspike-test-control-module-api-1.0.3.jar:1.0.3] > at > org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$AfterClassStatement.evaluate(CdiTestRunner.java:387) > [deltaspike-test-control-module-api-1.0.3.jar:1.0.3] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at > org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner.run(CdiTestRunner.java:136) > [deltaspike-test-control-module-api-1.0.3.jar:1.0.3] > at org.junit.runners.Suite.runChild(Suite.java:127) > [junit-4.11.jar:na] > at org.junit.runners.Suite.runChild(Suite.java:26) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) > [junit-4.11.jar:na] > at > org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) > [junit-4.11.jar:na] > at > org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) > [junit-4.11.jar:na] > at org.junit.runners.ParentRunner.run(ParentRunner.java:309) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:160) > [junit-4.11.jar:na] > at org.junit.runner.JUnitCore.run(JUnitCore.java:138) > [junit-4.11.jar:na] > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:141) > [surefire-junit47-2.16.jar:2.16] > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:114) > [surefire-junit47-2.16.jar:2.16] > at > org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:86) > [surefire-junit47-2.16.jar:2.16] > at > org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:134) > [surefire-junit47-2.16.jar:2.16] > at > org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:200) > [surefire-booter-2.16.jar:2.16] > at > org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:153) > [surefire-booter-2.16.jar:2.16] > at > org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:103) > [surefire-booter-2.16.jar:2.16] > > >
