public class TimedTest
extends junit.extensions.TestDecorator
TimedTest
is a test decorator that
runs a test and measures the elapsed time of the test.
A TimedTest
is constructed with a specified
maximum elapsed time. By default, a TimedTest
will wait for the completion of its decorated test and
then fail if the maximum elapsed time was exceeded.
Alternatively, a TimedTest
can be constructed
to immediately signal a failure when the maximum elapsed time
of its decorated test is exceeded. In other words, the
TimedTest
will not wait for its decorated
test to run to completion if the maximum elapsed time is
exceeded.
For example, to decorate the ExampleTest
as a TimedTest
that waits for the
ExampleTest
test case to run
to completion and then fails if the maximum elapsed
time of 2 seconds is exceeded, use:
or, to time a single test method, use:Test timedTest = new TimedTest(new TestSuite(ExampleTest.class), 2000);
Test timedTest = new TimedTest(new ExampleTest("testSomething"), 2000);
Alternatively, to decorate the ExampleTest.testSomething()
test as a TimedTest
that fails immediately when
the maximum elapsed time of 2 seconds is exceeded, use:
Test timedTest = new TimedTest(new ExampleTest("testSomething"), 2000, false);
Constructor and Description |
---|
TimedTest(junit.framework.Test test,
long maxElapsedTime)
Constructs a
TimedTest to decorate the
specified test with the specified maximum elapsed time. |
TimedTest(junit.framework.Test test,
long maxElapsedTime,
boolean waitForCompletion)
Constructs a
TimedTest to decorate the
specified test with the specified maximum elapsed time. |
Modifier and Type | Method and Description |
---|---|
int |
countTestCases()
Returns the number of tests in this timed test.
|
protected long |
getElapsedTime(long beginTime) |
boolean |
outOfTime()
Determines whether the maximum elapsed time of
the test was exceeded.
|
protected void |
printElapsedTime(long elapsedTime) |
void |
run(junit.framework.TestResult result)
Runs the test.
|
protected void |
runUntilTestCompletion(junit.framework.TestResult result)
Runs the test until test completion and then signals
a failure if the maximum elapsed time was exceeded.
|
protected void |
runUntilTimeExpires(junit.framework.TestResult result)
Runs the test and immediately signals a failure
when the maximum elapsed time is exceeded.
|
void |
setQuiet()
Disables the output of the test's elapsed time.
|
java.lang.String |
toString()
Returns the test description.
|
assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertEquals, assertFalse, assertFalse, assertNotNull, assertNotNull, assertNotSame, assertNotSame, assertNull, assertNull, assertSame, assertSame, assertTrue, assertTrue, fail, fail, failNotEquals, failNotSame, failSame, format
public TimedTest(junit.framework.Test test, long maxElapsedTime)
TimedTest
to decorate the
specified test with the specified maximum elapsed time.
The TimedTest
will wait for the completion
of its decorated test and then fail if the maximum elapsed
time was exceeded.
test
- Test to decorate.maxElapsedTime
- Maximum elapsed time (ms).public TimedTest(junit.framework.Test test, long maxElapsedTime, boolean waitForCompletion)
TimedTest
to decorate the
specified test with the specified maximum elapsed time.test
- Test to decorate.maxElapsedTime
- Maximum elapsed time (ms).waitForCompletion
- true
(default) to
indicate that the TimedTest
should wait
for its decorated test to run to completion and then
fail if the maximum elapsed time was exceeded;
false
to indicate that the
TimedTest
should immediately signal
a failure when the maximum elapsed time is exceeded.public void setQuiet()
public int countTestCases()
countTestCases
in interface junit.framework.Test
countTestCases
in class junit.extensions.TestDecorator
public boolean outOfTime()
true
if the max elapsed time
was exceeded; false
otherwise.public void run(junit.framework.TestResult result)
run
in interface junit.framework.Test
run
in class junit.extensions.TestDecorator
result
- Test result.protected void runUntilTestCompletion(junit.framework.TestResult result)
result
- Test result.protected void runUntilTimeExpires(junit.framework.TestResult result)
result
- Test result.protected long getElapsedTime(long beginTime)
protected void printElapsedTime(long elapsedTime)
public java.lang.String toString()
toString
in class junit.extensions.TestDecorator
Copyright ? 1999-2005 Clarkware Consulting, Inc.