yes - such a demo is the goal. 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 15:09 GMT+02:00 Rainer Schön <[email protected]>: > Dear Gerhard > > Unfortunately I have no possibility to make a demo publicly available but > I set up a tiny eclipse demo project that shows the (maven) setup and > reproduces the error. I hardly can imagine why this should work in your > environment and not in mine. But maybe I have missed something. Let me know. > > Regards, Rainer > > > > > Am 02.04.2014 11:29, schrieb Gerhard Petracek: > >> hi rainer, >> >> it would be great if you can provide a link to a demo which illustrates >> the >> issue (with my demo-setup the workaround works fine). >> >> 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 10:56 GMT+02:00 Rainer Schön <[email protected]>: >> >> 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 >>>>> >>>>> >>>>> >>>> >>> >>
