Class TimedTest
- All Implemented Interfaces:
junit.framework.Test
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);
- Author:
- Mike Clark, Clarkware Consulting, Inc., Ervin Varga
-
Field Summary
Fields inherited from class junit.extensions.TestDecorator
fTest -
Constructor Summary
ConstructorsConstructorDescriptionTimedTest(junit.framework.Test test, long maxElapsedTime) Constructs aTimedTestto decorate the specified test with the specified maximum elapsed time.TimedTest(junit.framework.Test test, long maxElapsedTime, boolean waitForCompletion) Constructs aTimedTestto decorate the specified test with the specified maximum elapsed time. -
Method Summary
Modifier and TypeMethodDescriptionintReturns the number of tests in this timed test.protected longgetElapsedTime(long beginTime) booleanDetermines whether the maximum elapsed time of the test was exceeded.protected voidprintElapsedTime(long elapsedTime) voidrun(junit.framework.TestResult result) Runs the test.protected voidrunUntilTestCompletion(junit.framework.TestResult result) Runs the test until test completion and then signals a failure if the maximum elapsed time was exceeded.protected voidrunUntilTimeExpires(junit.framework.TestResult result) Runs the test and immediately signals a failure when the maximum elapsed time is exceeded.voidsetQuiet()Disables the output of the test's elapsed time.toString()Returns the test description.Methods inherited from class junit.extensions.TestDecorator
basicRun, getTestMethods inherited from class junit.framework.Assert
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
-
Constructor Details
-
TimedTest
public TimedTest(junit.framework.Test test, long maxElapsedTime) Constructs aTimedTestto decorate the specified test with the specified maximum elapsed time.The
TimedTestwill wait for the completion of its decorated test and then fail if the maximum elapsed time was exceeded.- Parameters:
test- Test to decorate.maxElapsedTime- Maximum elapsed time (ms).
-
TimedTest
public TimedTest(junit.framework.Test test, long maxElapsedTime, boolean waitForCompletion) Constructs aTimedTestto decorate the specified test with the specified maximum elapsed time.- Parameters:
test- Test to decorate.maxElapsedTime- Maximum elapsed time (ms).waitForCompletion-true(default) to indicate that theTimedTestshould wait for its decorated test to run to completion and then fail if the maximum elapsed time was exceeded;falseto indicate that theTimedTestshould immediately signal a failure when the maximum elapsed time is exceeded.
-
-
Method Details
-
setQuiet
public void setQuiet()Disables the output of the test's elapsed time. -
countTestCases
public int countTestCases()Returns the number of tests in this timed test.- Specified by:
countTestCasesin interfacejunit.framework.Test- Overrides:
countTestCasesin classjunit.extensions.TestDecorator- Returns:
- Number of tests.
-
outOfTime
public boolean outOfTime()Determines whether the maximum elapsed time of the test was exceeded.- Returns:
trueif the max elapsed time was exceeded;falseotherwise.
-
run
public void run(junit.framework.TestResult result) Runs the test.- Specified by:
runin interfacejunit.framework.Test- Overrides:
runin classjunit.extensions.TestDecorator- Parameters:
result- Test result.
-
runUntilTestCompletion
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.- Parameters:
result- Test result.
-
runUntilTimeExpires
protected void runUntilTimeExpires(junit.framework.TestResult result) Runs the test and immediately signals a failure when the maximum elapsed time is exceeded.- Parameters:
result- Test result.
-
getElapsedTime
protected long getElapsedTime(long beginTime) -
printElapsedTime
protected void printElapsedTime(long elapsedTime) -
toString
Returns the test description.- Overrides:
toStringin classjunit.extensions.TestDecorator- Returns:
- Description.
-