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