Hi Gerhard Unfortunately your solution does not work neither (I tried it already before posting the mail). When I start Weld SE myself (no CdiTestRunner) in the BeforeClass method, it works fine with all scopes, but then I loose the comfort of having injection service into the UnitTest file and must do this manually by means of the DS BeanProvider.
I will create a jira-ticket for this. By the way, +1 for this module as soon as this scope works. It saves me a lot of the more time consuming and sometimes cumbersome deployments of Arquillian tests. Thanks for your assistance. Rainer Am 02.04.2014 10:10, schrieb Gerhard Petracek:
hi rainer, it looks like a restriction with weld (it works fine with owb) -> please create a jira-ticket for it. for now you can use: @TestControl(startScopes = {RequestScoped.class, SessionScoped.class, ConversationScoped.class}) (for every test method) regards, gerhard http://www.irian.at Your JSF/JavaEE powerhouse - JavaEE Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2014-04-02 9:52 GMT+02:00 Rainer Schön <[email protected]>:Hi all When I inject a ConversationScoped bean into the test, I get the following error (Deltapsike 0.6, Weld SE 2.1.1 JUnit 4.11): Apr 01, 2014 11:19:37 PM org.apache.deltaspike.testcontrol.api.junit. CdiTestRunner$ContainerAwareTestContext startScopes SEVERE: failed to start scope @javax.enterprise.context.ConversationScoped java.lang.NullPointerException at org.jboss.weld.context.bound.BoundConversationContextImpl. setRequestAttribute(BoundConversationContextImpl.java:29) at org.jboss.weld.context.bound.BoundConversationContextImpl. setRequestAttribute(BoundConversationContextImpl.java:10) at org.jboss.weld.context.AbstractConversationContext.associate( AbstractConversationContext.java:134) at org.apache.deltaspike.cdise.weld.ContextController. startConversationScope(ContextController.java:122) at org.apache.deltaspike.cdise.weld.WeldContextControl. startConversationScope(WeldContextControl.java:149) at org.apache.deltaspike.cdise.weld.WeldContextControl. startContext(WeldContextControl.java:74) at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ ContainerAwareTestContext.startScopes(CdiTestRunner.java:595) at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ ContainerAwareTestContext.applyBeforeClassConfig(CdiTestRunner.java:462) at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ BeforeClassStatement.evaluate(CdiTestRunner.java:347) at org.junit.internal.runners.statements.RunAfters.evaluate( RunAfters.java:27) at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner$ AfterClassStatement.evaluate(CdiTestRunner.java:374) at org.junit.runners.ParentRunner.run(ParentRunner.java:309) at org.apache.deltaspike.testcontrol.api.junit.CdiTestRunner.run( CdiTestRunner.java:129) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run( JUnit4TestReference.java:50) at org.eclipse.jdt.internal.junit.runner.TestExecution. run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. run(RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner. main(RemoteTestRunner.java:197) My test set up: @FixMethodOrder(MethodSorters.NAME_ASCENDING) @RunWith(CdiTestRunner.class) @TestControl(startScopes = {ConversationScoped.class}) public class PubliOrderManagerTest ... @Inject private ManagerBean mgr; // the ConversationScoped bean @Inject private Conversation conversation; @Test public void A_testLookupItems() { conversation.begin(); ... @Test public void Z_testRemove() { conversation.end(); ... What am I doing wrong? Any help appreciated. Rainer
