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.