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



Reply via email to