com.clarkware.junitperf
public class TestFactory extends Object implements Test
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.
See Also: LoadTest
| Field Summary | |
|---|---|
| protected Class | testClass |
| Constructor Summary | |
|---|---|
| TestFactory(Class testClass)
Constructs a TestFactory instance.
| |
| Method Summary | |
|---|---|
| int | countTestCases()
Returns the number of tests in this test.
|
| protected Test | getTest() |
| protected TestSuite | getTestSuite() |
| protected TestSuite | makeTestSuite() |
| void | run(TestResult result)
Runs an instance of the Test class and
collects its result in the specified TestResult.
|
| String | toString()
Returns the test description.
|
TestFactory instance.
Parameters: testClass The TestCase class to load test.
Returns: Number of tests.
Test class and
collects its result in the specified TestResult.
Each invocation of this method triggers the creation of a
new Test class instance as specified in the
construction of this TestFactory.
Parameters: result Test result.
Returns: Description.