Package org.junit.rules
Interface MethodRule
- All Known Implementing Classes:
TestWatchman
public interface MethodRule
A MethodRule is an alteration in how a test method is run and reported. MultipleMethodRules can be applied to a test method. TheStatementthat executes the method is passed to each annotatedRulein turn, and each may return a substitute or modifiedStatement, which is passed to the nextRule, if any. For examples of how this can be useful, see these provided MethodRules, or write your own:ErrorCollector: collect multiple errors in one test methodExpectedException: make flexible assertions about thrown exceptionsExternalResource: start and stop a server, for exampleTemporaryFolder: create fresh files, and delete after testTestName: remember the test name for use during the methodTestWatchman: add logic at events during method executionTimeout: cause test to fail after a set timeVerifier: fail test if object state ends up incorrect
MethodRulehas been replaced byTestRule, which has the added benefit of supporting class rules.- Since:
- 4.7
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description Statementapply(Statement base, FrameworkMethod method, Object target)Modifies the method-runningStatementto implement an additional test-running rule.
Method Detail
apply
Statement apply(Statement base, FrameworkMethod method, Object target)
Modifies the method-runningStatementto implement an additional test-running rule.- Parameters:
base- TheStatementto be modifiedmethod- The method to be runtarget- The object on which the method will be run.- Returns:
- a new statement, which may be the same as
base, a wrapper aroundbase, or a completely new Statement.