public class RunListener extends 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 Exception
description
- describes the tests to be runException
public void testRunFinished(Result result) throws Exception
result
- the summary of the test run, including all the tests that failedException
public void testStarted(Description description) throws Exception
description
- the description of the test that is about to be run
(generally a class and method name)Exception
public void testFinished(Description description) throws Exception
description
- the description of the test that just ranException
public void testFailure(Failure failure) throws 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 thrownException
public void testAssumptionFailure(Failure failure)
failure
- describes the test that failed and the
AssumptionViolatedException
that was thrownpublic void testIgnored(Description description) throws Exception
Ignore
.description
- describes the test that will not be runException
Copyright © 2002–2016 JUnit. All rights reserved.