Implement test optimization for Groovy

XMLWordPrintable

      Implement test optimization for Groovy code for Clover-for-Ant and Clover-for-Maven2 plugins. Currently it always runs all tests.

      Tricky part in Ant:

      1) Ant <junit><batchtest> batchtest collects the included resources from any number of nested Resource Collections. It then generates a test class name for each resource that ends in .java or .class. It means that *.groovy files will be ignored. However, we could use *.class files, for example:

      <fileset dir="${build.dir}">
          <include name="**/*Test.class"/>
      </fileset>
      

      Then we can run both groovy and java unit tests from Ant.

      2) But then if we try to use *.class inclusion pattern with <clover-optimized-testset>, for instance:

      <clover-optimized-testset>
          <fileset dir="${build.dir}">
              <include name="**/*Test.class"/>
          </fileset>
      </clover-optimized-testset>
      

      then Clover (BaseCloverOptimizedTestSelector + BaseCloverOptimizedType) will try to "guess" source file name by renaming Foo.class to Foo.java. As a consequence it is unable to find Foo.groovy file...

      Tricky part in Maven:

      t.b.d.

      Tricky part with TestSuites:

      Known problem. Clover does not optimize TestSuites. Thus user cannot use any tests suites. It means that also Groovy "AllTestSuite" runner cannot be used for test launching.

              Assignee:
              Unassigned
              Reporter:
              Marek Parfianowicz
              Votes:
              5 Vote for this issue
              Watchers:
              6 Start watching this issue

                Created:
                Updated:
                Resolved: