Package org.junit.rules
Class TestWatcher
- java.lang.Object
-
- org.junit.rules.TestWatcher
-
- All Implemented Interfaces:
TestRule
- Direct Known Subclasses:
TestName
public abstract class TestWatcher extends java.lang.Object implements TestRule
TestWatcher is a base class for Rules that take note of the testing action, without modifying it. For example, this class will keep a log of each passing and failing test:public static class WatchmanTest { private static String watchedLog; @Rule(order = Integer.MIN_VALUE) public TestWatcher watchman= new TestWatcher() { @Override protected void failed(Throwable e, Description description) { watchedLog+= description + "\n"; } @Override protected void succeeded(Description description) { watchedLog+= description + " " + "success!\n"; } }; @Test public void fails() { fail(); } @Test public void succeeds() { } }
It is recommended to always set the
order
of theTestWatcher
toInteger.MIN_VALUE
so that it encloses all other rules. Otherwise it may see failed tests as successful and vice versa if some rule changes the result of a test (e.g.ErrorCollector
orExpectedException
).- Since:
- 4.9
-
-
Constructor Summary
Constructors Constructor Description TestWatcher()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description Statement
apply(Statement base, Description description)
Modifies the method-runningStatement
to implement this test-running rule.protected void
failed(java.lang.Throwable e, Description description)
Invoked when a test failsprotected void
finished(Description description)
Invoked when a test method finishes (whether passing or failing)protected void
skipped(AssumptionViolatedException e, Description description)
Invoked when a test is skipped due to a failed assumption.protected void
skipped(org.junit.internal.AssumptionViolatedException e, Description description)
Deprecated.protected void
starting(Description description)
Invoked when a test is about to startprotected void
succeeded(Description description)
Invoked when a test succeeds
-
-
-
Constructor Detail
-
TestWatcher
public TestWatcher()
-
-
Method Detail
-
apply
public Statement apply(Statement base, Description description)
Description copied from interface:TestRule
Modifies the method-runningStatement
to implement this test-running rule.- Specified by:
apply
in interfaceTestRule
- Parameters:
base
- TheStatement
to be modifieddescription
- ADescription
of the test implemented inbase
- Returns:
- a new statement, which may be the same as
base
, a wrapper aroundbase
, or a completely new Statement.
-
succeeded
protected void succeeded(Description description)
Invoked when a test succeeds
-
failed
protected void failed(java.lang.Throwable e, Description description)
Invoked when a test fails
-
skipped
protected void skipped(AssumptionViolatedException e, Description description)
Invoked when a test is skipped due to a failed assumption.
-
skipped
@Deprecated protected void skipped(org.junit.internal.AssumptionViolatedException e, Description description)
Deprecated.Invoked when a test is skipped due to a failed assumption.
-
starting
protected void starting(Description description)
Invoked when a test is about to start
-
finished
protected void finished(Description description)
Invoked when a test method finishes (whether passing or failing)
-
-