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 TypeMethodDescriptionint
Returns the number of tests in this test.protected junit.framework.Test
getTest()
protected junit.framework.TestSuite
protected junit.framework.TestSuite
void
run
(junit.framework.TestResult result) Runs an instance of theTest
class and collects its result in the specifiedTestResult
.toString()
Returns the test description.
-
Field Details
-
testClass
-
-
Constructor Details
-
TestFactory
Constructs aTestFactory
instance.- Parameters:
testClass
- TheTestCase
class to load test.
-
-
Method Details
-
run
public void run(junit.framework.TestResult result) Runs an instance of theTest
class and collects its result in the specifiedTestResult
.Each invocation of this method triggers the creation of a new
Test
class instance as specified in the construction of thisTestFactory
.- Specified by:
run
in interfacejunit.framework.Test
- Parameters:
result
- Test result.
-
countTestCases
public int countTestCases()Returns the number of tests in this test.- Specified by:
countTestCases
in interfacejunit.framework.Test
- Returns:
- Number of tests.
-
toString
Returns the test description. -
getTest
protected junit.framework.Test getTest() -
getTestSuite
protected junit.framework.TestSuite getTestSuite() -
makeTestSuite
protected junit.framework.TestSuite makeTestSuite()
-