Uploaded image for project: 'Maven Surefire'
  1. Maven Surefire
  2. SUREFIRE-120

When you <include> a JUnit TestSuite (with no test methods), no tests are run

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 2.0 (2.2 plugin)
    • Fix Version/s: 2.3
    • Component/s: None
    • Labels:
      None

      Description

      In the attached Maven project, I started with the default Maven getting started archetype and then created an AppTestSuite class, which extends TestSuite and defines the static suite() method, but it has no test methods of its own. Then I added an <includes> configuration that specified <includes><include>**/AppTestSuite.java</include></includes>. But when I run "mvn test", it claims that "There are no tests to run."

      I've watched this happening in a debugger. The problem is in surefire-api-2.0.jar in PojoTestSet , on line 249. When attempting to acquire a list of the number of tests to run, instead of invoking the suite method and counting the number of tests that come out, it's attempting to discoverTestMethods on the object (methods whose names begin with "test*"), which naturally won't work for suites.

      This is a really serious issue that's going to block testing for us. (We happen to attach a TestSetup decorator to our suite, so we do need to run these tests as a suite rather than as individual test cases.)

        Attachments

        1. suitebug.zip
          3 kB
          Dan Fabulich
        2. MSUREFIRE-113.patch
          2 kB
          Mike Perham
        3. surefire-junit-2.1-SNAPSHOT.jar
          12 kB
          Mike Perham

          Activity

            People

            • Assignee:
              mperham Mike Perham
              Reporter:
              dfabulich Dan Fabulich
            • Votes:
              1 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: