public class RunListener
extends java.lang.Object
RunNotifier to be notified
of events that occur during a test run. All of the methods in this class
are abstract and have no implementation; override one or more methods to
receive events.
For example, suppose you have a Cowbell
class that you want to make a noise whenever a test fails. You could write:
public class RingingListener extends RunListener {
public void testFailure(Failure failure) {
Cowbell.ring();
}
}
To invoke your listener, you need to run your tests through JUnitCore.
public void main(String... args) {
JUnitCore core= new JUnitCore();
core.addListener(new RingingListener());
core.run(MyTestClass.class);
}
If a listener throws an exception for a test event, the other listeners will
have their testFailure(Failure) called with a Description
of Description.TEST_MECHANISM to indicate the failure.
By default, JUnit will synchronize calls to your listener. If your listener
is thread-safe and you want to allow JUnit to call your listener from
multiple threads when tests are run in parallel, you can annotate your
test class with RunListener.ThreadSafe.
Listener methods will be called from the same thread as is running the test, unless otherwise indicated by the method Javadoc
JUnitCore| Modifier and Type | Class and Description |
|---|---|
static interface |
RunListener.ThreadSafe
Indicates a
RunListener that can have its methods called
concurrently. |
| Constructor and Description |
|---|
RunListener() |
| Modifier and Type | Method and Description |
|---|---|
void |
testAssumptionFailure(Failure failure)
Called when an atomic test flags that it assumes a condition that is
false
|
void |
testFailure(Failure failure)
Called when an atomic test fails, or when a listener throws an exception.
|
void |
testFinished(Description description)
Called when an atomic test has finished, whether the test succeeds or fails.
|
void |
testIgnored(Description description)
Called when a test will not be run, generally because a test method is annotated
with
Ignore. |
void |
testRunFinished(Result result)
Called when all tests have finished.
|
void |
testRunStarted(Description description)
Called before any tests have been run.
|
void |
testStarted(Description description)
Called when an atomic test is about to be started.
|
public void testRunStarted(Description description) throws java.lang.Exception
description - describes the tests to be runjava.lang.Exceptionpublic void testRunFinished(Result result) throws java.lang.Exception
result - the summary of the test run, including all the tests that failedjava.lang.Exceptionpublic void testStarted(Description description) throws java.lang.Exception
description - the description of the test that is about to be run
(generally a class and method name)java.lang.Exceptionpublic void testFinished(Description description) throws java.lang.Exception
description - the description of the test that just ranjava.lang.Exceptionpublic void testFailure(Failure failure) throws java.lang.Exception
In the case of a failure of an atomic test, this method will be called
with the same Description passed to
testStarted(Description), from the same thread that called
testStarted(Description).
In the case of a listener throwing an exception, this will be called with
a Description of Description.TEST_MECHANISM, and may be called
on an arbitrary thread.
failure - describes the test that failed and the exception that was thrownjava.lang.Exceptionpublic void testAssumptionFailure(Failure failure)
failure - describes the test that failed and the
AssumptionViolatedException that was thrownpublic void testIgnored(Description description) throws java.lang.Exception
Ignore.description - describes the test that will not be runjava.lang.Exception