public class TestFactory
extends java.lang.Object
implements junit.framework.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.
LoadTest
Modifier and Type | Field and Description |
---|---|
protected java.lang.Class |
testClass |
Constructor and Description |
---|
TestFactory(java.lang.Class testClass)
Constructs a
TestFactory instance. |
Modifier and Type | Method and Description |
---|---|
int |
countTestCases()
Returns the number of tests in this test.
|
protected junit.framework.Test |
getTest() |
protected junit.framework.TestSuite |
getTestSuite() |
protected junit.framework.TestSuite |
makeTestSuite() |
void |
run(junit.framework.TestResult result)
Runs an instance of the
Test class and
collects its result in the specified TestResult . |
java.lang.String |
toString()
Returns the test description.
|
public TestFactory(java.lang.Class testClass)
TestFactory
instance.testClass
- The TestCase
class to load test.public void run(junit.framework.TestResult result)
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
.
run
in interface junit.framework.Test
result
- Test result.public int countTestCases()
countTestCases
in interface junit.framework.Test
public java.lang.String toString()
toString
in class java.lang.Object
protected junit.framework.Test getTest()
protected junit.framework.TestSuite getTestSuite()
protected junit.framework.TestSuite makeTestSuite()
Copyright ? 1999-2005 Clarkware Consulting, Inc.