Description
TestSuite (see Figure B-10) is a class representing a collection of
Tests. Since it implements
Test, it can be run just like a
TestCase. When run, a TestSuite
runs all the Tests it contains. It may contain
both TestCases and other
TestSuites.
A TestSuite can be constructed by giving it the
class name of a TestCase. The
TestSuite constructor uses reflection to find all
methods in the TestCase having names starting with
test. The code below adds all of
BookTest's test methods to a
TestSuite and runs it:
TestSuite test = new TestSuite( BookTest.class );
test.run( new TestResult( ) );
Tests also can be added to a TestSuite using the
addTest( ) method.
Declaration
public class TestSuite
extends Object
implements Test
Constructors
- TestSuite( )
A constructor that creates an empty TestSuite.
- TestSuite(String name)
A constructor that creates an empty TestSuite with
the given name.
- TestSuite(Class class)
A constructor that takes a Class, uses reflection
to find all methods with names starting with test,
and adds them to the TestSuite as test methods.
- TestSuite(Class class, String name)
A constructor that creates a TestSuite with the
given name and all test methods found in the
Class, as described for the previous constructor.
Public Methods
- void addTest(Test test)
Adds a Test to the TestSuite.
- void addTestSuite(Class testClass)
Adds the test methods from the Class to the
TestSuite. Test methods are found using
reflection.
- int countTestCases( )
Returns the total number of test cases that will be run by this
TestSuite. Test cases are counted by recursively
calling countTestCases( ) for every
Test in this TestSuite.
- static Test createTest(Class theClass, String name)
Creates an instance of Class as a
Test with the given name.
- String getName( )
Returns the name of the TestSuite.
- static java.lang.reflect.Constructor getTestConstructor(Class theClass)
Gets a constructor for the given Class that takes
a single String as its argument, or gets a
constructor that takes no arguments.
- void run(TestResult result)
Runs the Tests in this
TestSuite and collects the results in
TestResult.
- void runTest(Test test, TestResult result)
Runs Test and collects the results in
TestResult.
- void setName(String name)
Sets the name of the TestSuite.
- Test testAt(int index)
Returns the Test at the given index.
- int testCount( )
Returns the number of Tests in this
TestSuite.
- java.util.Enumeration tests( )
Returns the Tests as an
Enumeration.
- String toString( )
Returns a string representation of this TestSuite.
Protected/Private Methods
- private void addTestMethod(java.lang.reflect.Method m, Vector names, Class class)
A private method to add a test method to this
TestSuite.
- private static String exceptionToString(Throwable t)
Returns the Throwable's stack
trace as a string.
- private boolean isPublicTestMethod(java.lang.reflect.Method m)
Returns TRUE if Method has
public access.
- private boolean isTestMethod(java.lang.reflect.Method m)
A private method that returns TRUE if
Method has no arguments, returns
void, and has public access.
- private static Test warning(String message)
Returns a Test that will fail and logs a warning
message.
Attributes
- private String fName
The name of this TestSuite.
- private Vector fTests
The Tests contained by this
TestSuite.
|
No comments:
Post a Comment