4 Replies Latest reply: Feb 4, 2013 7:51 AM by sathiya seelan RSS

    Suite of arquillian tests does not pass. Individual tests do. Why?

    Hanspeter Gisler Newbie

      Hi

       

      I have got multiple arquillian test classes which I try to get run in sequence (defined within a testng.xml) via maven surefire.

       

      If I test the classes individually like so:

       

      mvn -Dtest=com.example.ArquillianBasicWebArchiveTest -Pglassfish-remote-3.1 test-compile surefire:test

       

      it works (the test gets executed correctly on glassfish-remote and passes).

       

      However, if I try to test all the classes in the test-suite like so:

       

      mvn -Pglassfish-remote-3.1 test-compile surefire:test

       

      I get this error:

       

      loggerInjectionTest(com.example.ArquillianBasicWebArchiveTest): No TestRunnerAdaptor found, @BeforeSuite has not been called

       

       

      Any ideas what I am doing wrong? (I am using the maven profile 'glassfish-remote-3.1' to activate arquillian glassfish-remote environment as described in the arquillian docu).

       

      Thanks very much for any ideas.

      Hanspeter

        • 1. Re: Suite of arquillian tests does not pass. Individual tests do. Why?
          Aslak Knutsen Master

          Do you have the stack trace to that exception? It can be thrown from multiple locations..

          • 2. Re: Suite of arquillian tests does not pass. Individual tests do. Why?
            Hanspeter Gisler Newbie

            Hi Aslak, sorry, I totally forgot - and thanks for your fast reply.

             

            Here is the stack trace:

             

            loggerInjectionTest(com.example.ArquillianBasicEnterpriseArchiveTest)  Time elapsed: 0.006 sec  <<< FAILURE!
            java.lang.IllegalStateException: No TestRunnerAdaptor found, @BeforeSuite has not been called
                      at org.jboss.arquillian.testng.Arquillian.verifyTestRunnerAdaptorHasBeenSet(Arquillian.java:246)
                      at org.jboss.arquillian.testng.Arquillian.run(Arquillian.java:154)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:601)
                      at org.testng.internal.MethodInvocationHelper.invokeHookable(MethodInvocationHelper.java:191)
                      at org.testng.internal.Invoker.invokeMethod(Invoker.java:666)
                      at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:846)
                      at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1170)
                      at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
                      at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:109)
                      at org.testng.TestRunner.runWorkers(TestRunner.java:1147)
                      at org.testng.TestRunner.privateRun(TestRunner.java:749)
                      at org.testng.TestRunner.run(TestRunner.java:600)
                      at org.testng.SuiteRunner.runTest(SuiteRunner.java:317)
                      at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:312)
                      at org.testng.SuiteRunner.privateRun(SuiteRunner.java:274)
                      at org.testng.SuiteRunner.run(SuiteRunner.java:223)
                      at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
                      at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
                      at org.testng.TestNG.runSuitesSequentially(TestNG.java:1039)
                      at org.testng.TestNG.runSuitesLocally(TestNG.java:964)
                      at org.testng.TestNG.run(TestNG.java:900)
                      at org.apache.maven.surefire.testng.TestNGExecutor.run(TestNGExecutor.java:122)
                      at org.apache.maven.surefire.testng.TestNGXmlTestSuite.execute(TestNGXmlTestSuite.java:92)
                      at org.apache.maven.surefire.testng.TestNGProvider.invoke(TestNGProvider.java:105)
                      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
                      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                      at java.lang.reflect.Method.invoke(Method.java:601)
                      at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:188)
                      at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:166)
                      at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:86)
                      at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:101)
                      at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
            

             

             

            • 3. Re: Suite of arquillian tests does not pass. Individual tests do. Why?
              John Genoese Newbie

              Are you perchance using the Groups facility?

               

              If so, you need to know that the Arquillian superclass we use for TestNG contains the @BeforeSuite(groups="arquillian") annotation. This means that you must either include the group "arquillian" in any "groups" list (i.e. Maven <groups> ), or ensure that it is omitted from any "excludeGroups" list (i.e. Maven <excludeGroups>).

               

              Here's an set of examples that illustrates what I mean:

               

               

                  <profiles>

                      <profile>

                          <id>Integration</id>

                          <build>

                              <plugins>

                                  <plugin>

                                      <groupId>org.apache.maven.plugins</groupId>

                                      <artifactId>maven-surefire-plugin</artifactId>

                                      <executions>

                                          <execution>

                                              <id>default-test</id>

                                              <configuration>

                                                  <groups>arquillian, Integration</groups>

                                                  <reportsDirectory>target/integration-surefire-reports/</reportsDirectory>

                                              </configuration>

                                          </execution>

                                      </executions>

                                  </plugin>

                              </plugins>

                          </build>

                      </profile>

                      <profile>

                          <id>Unit</id>

                          <build>

                              <plugins>

                                  <plugin>

                                      <groupId>org.apache.maven.plugins</groupId>

                                      <artifactId>maven-surefire-plugin</artifactId>

                                      <executions>

                                          <execution>

                                              <id>default-test</id>

                                              <configuration>

                                                  <groups>Unit</groups>

                                                  <reportsDirectory>target/surefire-reports/</reportsDirectory>

                                              </configuration>

                                          </execution>

                                      </executions>

                                  </plugin>

                              </plugins>

                          </build>

                      </profile>

                      <profile>

                          <id>All</id>

                          <build>

                              <plugins>

                                  <plugin>

                                      <groupId>org.apache.maven.plugins</groupId>

                                      <artifactId>maven-surefire-plugin</artifactId>

                                      <executions>

                                          <execution>

                                              <id>default-test</id>

                                              <configuration>

                                                  <groups>Unit, arquillian, Integration</groups>

                                                  <reportsDirectory>target/surefire-reports/</reportsDirectory>

                                              </configuration>

                                          </execution>

                                      </executions>

                                  </plugin>

                              </plugins>

                          </build>

                      </profile>

                  </profiles>

               

               

               

              • 4. Re: Suite of arquillian tests does not pass. Individual tests do. Why?
                sathiya seelan Newbie

                Hi I have the same problem..It works when i added "arquillian" into my group list

                thks John