Arquillian
  1. Arquillian
  2. ARQ-567

Supporting Test Suites (@ArquillianSuite)

    Details

    • Type: Feature Request Feature Request
    • Status: Open (View Workflow)
    • Priority: Major Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: 1.1.8.Final
    • Component/s: None
    • Labels:
      None
    • Similar Issues:
      Show 10 results 

      Description

      Currently, it is supported that JUnit test cases being run by Arquillian. This feature request is request for supporting test suites too to be run by Arquillian too. Idea is like:

      @RunWith(ArquillianSuite.class)
      @Suite.SuiteClasses(

      { TestCase1.class, TestCase2.class, .... }

      )
      public class AllTests{
      @Deployment
      public static JavaArchive createTestArchive()

      { return ShrinkWrap.create(JavaArchive.class,"test.jar"); }

      }

      The advantages of above approach for users of Arquillian framework are:

      • Test cases don't needed to be modified to have: "@RunWith(Arquillian.class)" annotation. In other words, test cases will be pure JUnit code, and no Arquillian code (results in less coding for end users).
      • It is not necessary to include the static "@Deployment" methods in all test cases any more, and only Test Suite need to define the archieving/deployment related setting/definitions.

      The advantage of above approach for framework itself is:

      • From performance point-of-view, it becomes possible for Arquillian to deploy all test cases in the Test Suite into J2EE container in one action (one deploy/undeploy for one test suite, instead of mulitple deploy/undeploy for each test case).

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            Davy Herben added a comment - - edited

            Hi, great work gentlemen. I've tested this on our project, where we have 1200 arquillian tests against a standalone glassfish 3.1, and using this extension easily cuts our total build time in half! Very excited about this

            I've encountered one issue though, which is killing the maven build. The build correctly deploys the test archive only once, but it does not undeploy it after all integration tests have run. This leaves the test archive deployed. On the next build, the deployment fails because glassfish complains that the archive already exists. I've been looking at a way to make arquillian provide the --force argument to the glassfish deployment to force an override, but this does not seem to be possible with the current adapter.

            Any ideas on how to fix this? In case it matters: I have set up the maven failsafe plugin to simply run all *ContainerIT tests, not to run a specific junit TestSuite.

            Show
            Davy Herben added a comment - - edited Hi, great work gentlemen. I've tested this on our project, where we have 1200 arquillian tests against a standalone glassfish 3.1, and using this extension easily cuts our total build time in half! Very excited about this I've encountered one issue though, which is killing the maven build. The build correctly deploys the test archive only once, but it does not undeploy it after all integration tests have run. This leaves the test archive deployed. On the next build, the deployment fails because glassfish complains that the archive already exists. I've been looking at a way to make arquillian provide the --force argument to the glassfish deployment to force an override, but this does not seem to be possible with the current adapter. Any ideas on how to fix this? In case it matters: I have set up the maven failsafe plugin to simply run all *ContainerIT tests, not to run a specific junit TestSuite.
            Hide
            Esteve Aviles added a comment -

            Hi,

            Is there any news on this issue? I find it pretty interesting as we have more than 60 test cases per app and a part from build time we need big infrastructure to handle them.
            How do you do that in other projects?

            Thanks in advance.

            Regards.
            Esteve

            Show
            Esteve Aviles added a comment - Hi, Is there any news on this issue? I find it pretty interesting as we have more than 60 test cases per app and a part from build time we need big infrastructure to handle them. How do you do that in other projects? Thanks in advance. Regards. Esteve
            Hide
            Karthik Shantaraman added a comment -

            Hi,

            Is there a way to run multiple tests with a single Deployment?

            Show
            Karthik Shantaraman added a comment - Hi, Is there a way to run multiple tests with a single Deployment?
            Hide
            Andy K added a comment -

            ECCLESIA Clerk
            Server: Ibis

            -----------------------------------------------------------------------
            Andreas Kind
            Sehr geehrte Damen und Herren, ich bin bis zum 10.03.2015 einschließlich
            nicht erreichbar. Ihre E-Mail wird bis dahin archiviert. Mit freundlichen
            Grüßen,

            Show
            Andy K added a comment - ECCLESIA Clerk Server: Ibis ----------------------------------------------------------------------- Andreas Kind Sehr geehrte Damen und Herren, ich bin bis zum 10.03.2015 einschließlich nicht erreichbar. Ihre E-Mail wird bis dahin archiviert. Mit freundlichen Grüßen,
            Show
            Aslak Knutsen added a comment - The work has started! General impl discussion here: http://discuss.arquillian.org/t/arquillian-core-suite-subsuite-support/162 And user API disussion here. http://discuss.arquillian.org/t/arquillian-core-suite-subsuite-how-to-define-the-suite/163

              People

              • Assignee:
                Aslak Knutsen
                Reporter:
                Mousavi Jahan Abadi S. M.
              • Votes:
                78 Vote for this issue
                Watchers:
                65 Start watching this issue

                Dates

                • Created:
                  Updated:

                  Development