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

Reply via email to