Package groovy.test

Class AllTestSuite

java.lang.Object
junit.framework.TestSuite
groovy.test.AllTestSuite
All Implemented Interfaces:
junit.framework.Test

public class AllTestSuite extends junit.framework.TestSuite
AllTestSuite can be used in extension of GroovyTestSuite to execute TestCases written in Groovy from inside a Java IDE. AllTestSuite collects all files below a given directory that comply to a given pattern. From these files, a TestSuite is constructed that can be run via an IDE graphical Test runner. The files are assumed to be Groovy source files and be either a TestCase or a Script that can be wrapped transparently into a TestCase. The directory and the pattern can be set via System properties (see this classes' constants for details.)

When setting the log level of this class to FINEST, all file loading will be logged.

See also groovy.test.AllTestSuiteTest.groovy

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    The System Property to set as base directory for collection of Test Cases.
    static final String
    The System Property to set as a filename excludes pattern for collection of Test Cases.
    static final String
    The System Property to set as the filename pattern for collection of Test Cases.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected Class
    compile(String filename)
    Compiles the supplied Groovy source file into a class.
    protected void
    loadTest(String filename)
    Compiles the supplied source file and adds the resulting test to this suite.
    static junit.framework.Test
    Creates a suite using the configured system-property defaults.
    static junit.framework.Test
    suite(String basedir, String pattern)
    Creates a suite for tests matching the supplied include pattern.
    static junit.framework.Test
    suite(String basedir, String pattern, String excludesPattern)
    Creates a suite for tests matching the supplied include and exclude patterns.

    Methods inherited from class junit.framework.TestSuite

    addTest, addTestSuite, countTestCases, createTest, getName, getTestConstructor, run, runTest, setName, testAt, testCount, tests, toString, warning

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • SYSPROP_TEST_DIR

      public static final String SYSPROP_TEST_DIR
      The System Property to set as base directory for collection of Test Cases. The pattern will be used as an Ant fileset include basedir. Key is "groovy.test.dir". Default value is "./test/".
      See Also:
    • SYSPROP_TEST_PATTERN

      public static final String SYSPROP_TEST_PATTERN
      The System Property to set as the filename pattern for collection of Test Cases. The pattern will be used as Regular Expression pattern applied with the find operator against each candidate file.path. Key is "groovy.test.pattern". Default value is "Test.groovy".
      See Also:
    • SYSPROP_TEST_EXCLUDES_PATTERN

      public static final String SYSPROP_TEST_EXCLUDES_PATTERN
      The System Property to set as a filename excludes pattern for collection of Test Cases. When non-empty, the pattern will be used as Regular Expression pattern applied with the find operator against each candidate file.path. Key is "groovy.test.excludesPattern". Default value is "".
      See Also:
  • Constructor Details

    • AllTestSuite

      public AllTestSuite()
  • Method Details

    • suite

      public static junit.framework.Test suite()
      Creates a suite using the configured system-property defaults.
      Returns:
      the populated test suite
    • suite

      public static junit.framework.Test suite(String basedir, String pattern)
      Creates a suite for tests matching the supplied include pattern.
      Parameters:
      basedir - the base directory to search
      pattern - the include pattern used to find test sources
      Returns:
      the populated test suite
    • suite

      public static junit.framework.Test suite(String basedir, String pattern, String excludesPattern)
      Creates a suite for tests matching the supplied include and exclude patterns.
      Parameters:
      basedir - the base directory to search
      pattern - the include pattern used to find test sources
      excludesPattern - the exclude pattern used to filter matching sources
      Returns:
      the populated test suite
    • loadTest

      protected void loadTest(String filename) throws CompilationFailedException, IOException
      Compiles the supplied source file and adds the resulting test to this suite.
      Parameters:
      filename - the Groovy source file to compile
      Throws:
      CompilationFailedException - if compilation fails
      IOException - if the source cannot be read
    • compile

      protected Class compile(String filename) throws CompilationFailedException, IOException
      Compiles the supplied Groovy source file into a class.
      Parameters:
      filename - the Groovy source file to compile
      Returns:
      the compiled class
      Throws:
      CompilationFailedException - if compilation fails
      IOException - if the source cannot be read