0 Replies Latest reply on Jan 12, 2018 12:15 PM by raytucson

    Using @EJB Causes JUnit to Fail, but tests still run and succeed on server side

    raytucson

      I'm using the latest Arquillian universe version 1.1.15.2 and Wildfly remote container 2.1.0 final.

       

      I have a test that injects a POJO using @Inject.  When I run the test, the test passes, green bar in JUnit.  From logging statements on the Wildfly server side, I can see the code is being executed.  So far so good.  Next, I introduce an @Stateless EJB using @EJB and write a new @Test.

       

      Here comes the weird part.  Just the act of adding an EJB with @EJB breaks JUnit on the client.  I removed my second test method and left just the injected @EJB field.  My logging statements on the server side verify that nothing is null and works.  However, back in the Arquillian/JUnit client, the test explodes with a NPE.  It is as if JUnit core ends up running the @Test method also, after Arquillian returns from the server.  The dependencies are not injected by JUnit, and are null.

       

      To be clear, @Inject and @EJB iare working in Wildfly and the code is running and working there.  After the test runs in Wildfly, the test later breaks in the client.  Googling around I can't find a hint.  Please advise and thanks in advance.

       

      Message was edited by: Ray Ramos Found the problem.  Project was configured to use "arquillian-junit-standalone" instead of "arquillian-junit".  I'm not sure why the introduction of @EJB started the breakage, but using the container aware "arquillian-junit" and resolved the issue.