Package gw.test

Class Suite<T extends Suite>

  • All Implemented Interfaces:
    junit.framework.Test

    public class Suite<T extends Suite>
    extends junit.framework.TestSuite
    This Suite class streamlines and simplifies the standard JUnit TestSuite. It can be used in one of two ways: you can add individual tests to the Suite via the withTest() methods, or you can use the filter methods to pare down the tests that are found on the current classpath.
    • Constructor Detail

      • Suite

        public Suite()
    • Method Detail

      • javaAssertionsNotEnabled

        public final T javaAssertionsNotEnabled()
        Used to indicate that this suite does not require assertions be enabled. In general it is recommended that you not use this option.
      • withTest

        public final T withTest​(IType type,
                                String... methods)
        Adds a test to this Suite. This method is not to be combined with the module/filter methods.
      • withTest

        public final T withTest​(String type,
                                String... methods)
        Adds a test to this Suite. This method is not to be combined with the module/filter methods.
      • withTest

        public final T withTest​(Class type,
                                String... methods)
        Adds a test to this Suite. This method is not to be combined with the module/filter methods.
      • withIFileFilter

        public final T withIFileFilter​(Predicate<IFile> fileFilter)
        Adds a file filter to this suite, allowing certain tests to be excluded. Consider using withPackageFilter(gw.util.Predicate) if you wish to more easily apply a package filter of tests without dealing with ugly file paths. Package filters are just as fast as file filters, both of which are much faster than test type filters.
      • withPackages

        public final T withPackages​(String... packagePrefixes)
        Adds a package filter that will only accept packages that are subpackages of the strings passed in.
      • withPackageFilter

        public final T withPackageFilter​(Predicate<String> fileFilter)
        Adds a package filter to this suite, which allows you to exclude certain packages from consideration. These filters are about as fast as file filters, but are easier to write and maintain. For the common case of simply wishing to test certain packages and their sub-packages, use withPackages(String...) instead.
      • withTimeout

        public final T withTimeout​(long seconds)
      • withTestEnvironment

        public T withTestEnvironment​(TestEnvironment testEnvironment)
      • logErrors

        public final T logErrors()
      • withModules

        public final T withModules​(String... moduleNames)
        This limits the gosu tests that are run to gosu tests that are located within the specified module in a gsrc or gtest directory AND all and java tests in the classpath that are not in a module.
        Parameters:
        moduleNames -
        Returns:
      • withClasspathEntry

        public T withClasspathEntry​(File srcDir)
      • countTestCases

        public final int countTestCases()
        Specified by:
        countTestCases in interface junit.framework.Test
        Overrides:
        countTestCases in class junit.framework.TestSuite
      • testAt

        public final junit.framework.Test testAt​(int index)
        Overrides:
        testAt in class junit.framework.TestSuite
      • testCount

        public final int testCount()
        Overrides:
        testCount in class junit.framework.TestSuite
      • tests

        public final Enumeration<junit.framework.Test> tests()
        Overrides:
        tests in class junit.framework.TestSuite
      • createDefaultGosuClassSearchPath

        protected List<IDirectory> createDefaultGosuClassSearchPath()
      • createDefaultJavaClassSearchPath

        protected List<IDirectory> createDefaultJavaClassSearchPath()
      • logError

        public void logError​(String o)
      • run

        public void run​(junit.framework.TestResult result)
        Specified by:
        run in interface junit.framework.Test
        Overrides:
        run in class junit.framework.TestSuite
      • beforeSuite

        protected void beforeSuite()
      • runViaStaticSuiteMethod

        public final boolean runViaStaticSuiteMethod()
        A convenience method for running this suite from a main method. Subclasses of Suite can create a main method like so:
           public static void main(String[] args) {
             System.exit( new GosuSuite().runSuite() ? 0 : 1 );
           }
         
        Returns:
        a boolean saying if all tests passed
      • run

        public final org.junit.runner.Result run()
        Runs this Suite with a TextListener tied to System.out and returns the result.
      • testsAsList

        public List<junit.framework.Test> testsAsList()
      • testsAsListOfSuites

        public List<junit.framework.TestSuite> testsAsListOfSuites()
      • isLoggingErrors

        public boolean isLoggingErrors()