| net.sourceforge.groboutils.junit.v1.TestRunnable
All known Subclasses: net.sourceforge.groboutils.junit.v1.TestMonitorRunnable,
TestRunnable | abstract public class TestRunnable extends Assert implements Runnable(Code) | | Instances of this class only execute in the
runTestRunnables method of
the MultiThreadedTestRunner class.
TestCases should define inner classes as a subclass of this,
implement the runTest() method, and pass in the
instantiated class as part of an array to the
runTestRunnables method. Call delay( long )
to easily include a waiting period. This class allows for
all assertions to be invoked, so that subclasses can be static or
defined outside a TestCase. If an exception is thrown from the
runTest() method, then all other test threads will
terminate due to the error.
The runTest() method needs to be responsive to
InterruptedException, resulting from the owning
MultiThreadedTestRunner interrupting the thread in order to
signal the early termination of the threads. The
InterruptedExceptions may be propigated outside the
runTest() implementation with no harmful effects. Note that
this means that InterruptedExceptions are part of the
framework, and as such carry information that your runTest()
implementations cannot override; in other words, don't let your test
propigate an InterruptedException to indicate an error.
Tests which perform a set of monitoring checks on the object-under-test
should extend TestMonitorRunnable, since monitors run until
told to stop. The Thread.stop() command will be sent with a
MultiThreadedTestRunner.TestDeathException.
author: Matt Albrecht groboclown@users.sourceforge.net version: $Date: 2003/10/03 14:26:45 $ since: March 28, 2002 |
Field Summary | |
final protected static Logger | LOG |
Method Summary | |
public void | delay(long millis) Sleep for millis milliseconds. | public boolean | isDone() Returns the status of the owning MultiThreadedTestRunner
instance: true means that the tests have completed (monitors
may still be active), and false means that the tests are
still running. | public void | run() Unable to make this a "final" method due to JDK 1.1 compatibility. | abstract public void | runTest() Performs the set of processing or checks on the object-under-test,
which will be in parallel with other TestRunnable
instances. | void | setTestRunner(MultiThreadedTestRunner mttr) |
LOG | final protected static Logger LOG(Code) | | |
TestRunnable | public TestRunnable()(Code) | | |
TestRunnable | TestRunnable(boolean ignoreStopErrors)(Code) | | |
isDone | public boolean isDone()(Code) | | Returns the status of the owning MultiThreadedTestRunner
instance: true means that the tests have completed (monitors
may still be active), and false means that the tests are
still running.
true if the tests have completed their run,otherwise false. |
run | public void run()(Code) | | Unable to make this a "final" method due to JDK 1.1 compatibility.
However, implementations should not override this method.
|
runTest | abstract public void runTest() throws Throwable(Code) | | Performs the set of processing or checks on the object-under-test,
which will be in parallel with other TestRunnable
instances.
The implementation should be responsive to
InterruptedException exceptions or to the status of
Thread.isInterrupted(), as that is the signal used to tell
running TestRunnable instances to halt their processing;
instances which do not stop within a reasonable time frame will
have Thread.stop() called on them.
Non-monitor instances must have this method implemented such that
it runs in a finite time; if any instance executes over the
MultiThreadedTestRunner instance maximum time limit, then
the MultiThreadedTestRunner instance assumes that a
test error occurred.
exception: Throwable - any exception may be thrown and will bereported as a test failure, except forInterruptedExceptions, which will be ignored. |
|
|