Class TestFactory
- All Implemented Interfaces:
junit.framework.Test
- Direct Known Subclasses:
TestMethodFactory
TestFactory class creates thread-local
TestSuite instances.
This factory class should be used in cases when a stateful test
is intended to be decorated by a LoadTest. A stateful
test is defined as any test that defines test-specific state in
its setUp() method.
Use of the TestFactory ensures that each thread spawned
by a LoadTest contains its own TestSuite
instance containing all tests defined in the specified
TestCase class.
A typical usage scenario is as follows:
Test factory = new TestFactory(YourTestCase.class); LoadTest test = new LoadTest(factory, numberOfUsers, ...); ...
Of course, static variables cannot be protected externally, so tests intended to be run in a multi-threaded environment should ensure that the use of static variables is thread-safe.
This class is dependent on Java 2. For earlier platforms a local cache implementation should be changed to use, for example, a HashMap to track thread-local information.
- Author:
- Mike Clark, Clarkware Consulting, Inc., Ervin Varga
- See Also:
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintReturns the number of tests in this test.protected junit.framework.TestgetTest()protected junit.framework.TestSuiteprotected junit.framework.TestSuitevoidrun(junit.framework.TestResult result) Runs an instance of theTestclass and collects its result in the specifiedTestResult.toString()Returns the test description.
-
Field Details
-
testClass
-
-
Constructor Details
-
TestFactory
Constructs aTestFactoryinstance.- Parameters:
testClass- TheTestCaseclass to load test.
-
-
Method Details
-
run
public void run(junit.framework.TestResult result) Runs an instance of theTestclass and collects its result in the specifiedTestResult.Each invocation of this method triggers the creation of a new
Testclass instance as specified in the construction of thisTestFactory.- Specified by:
runin interfacejunit.framework.Test- Parameters:
result- Test result.
-
countTestCases
public int countTestCases()Returns the number of tests in this test.- Specified by:
countTestCasesin interfacejunit.framework.Test- Returns:
- Number of tests.
-
toString
-
getTest
protected junit.framework.Test getTest() -
getTestSuite
protected junit.framework.TestSuite getTestSuite() -
makeTestSuite
protected junit.framework.TestSuite makeTestSuite()
-