Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-1125

StackOverflowError: It is not possible to define producers in an arquillian unit test

XMLWordPrintable

      When i try to run the following unit test, it gives me a stackOverflowError with weld 1.1.6 and 1.1.7 - but it worked with 1.1.5!
      the problem seems to be a recursive loop, while trying to initialize the unit test itself for using its producer.
      when you move the Producer to an static innerclass and add it to the shrinkwrap definition, this test works.

      package com.kobil.ssms.kernel.logic.licencing;

      import javax.enterprise.inject.Produces;
      import javax.inject.Inject;

      import org.jboss.arquillian.container.test.api.Deployment;
      import org.jboss.arquillian.junit.Arquillian;
      import org.jboss.shrinkwrap.api.ShrinkWrap;
      import org.jboss.shrinkwrap.api.asset.EmptyAsset;
      import org.jboss.shrinkwrap.api.spec.JavaArchive;
      import org.junit.Assert;
      import org.junit.Test;
      import org.junit.runner.RunWith;

      /**

      • @author Manuel Hartl / FlexSecure GmbH
        *
        */
        @RunWith(Arquillian.class)
        public class WeldInjectionStackOverflow {
        @Deployment
        public static JavaArchive createTestArchive() { return ShrinkWrap.create(JavaArchive.class, "test.jar").addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml"); }

      public static interface Service

      { public int dummy(); }

      ;

      @Produces
      Service getSevice() throws LicenceException {
      return new Service() {

      @Override
      public int dummy()

      { return 0; }

      };
      }

      @Inject
      private Service service;

      @Test
      public void checkInjection() throws Exception

      { Assert.assertEquals(0, service.dummy()); }

      }

              rhn-engineering-jharting Jozef Hartinger
              mhartl_jira Manuel Hartl (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: