public interface TestRule
TestRulemay add additional checks that cause a test that would otherwise fail to pass, or it may perform necessary setup or cleanup for tests, or it may observe test execution to report it elsewhere.
TestRules can do everything that could be done previously with methods annotated with
AfterClass, but they are more powerful, and more easily shared between projects and classes. The default JUnit test runners for suites and individual test cases recognize
TestRules introduced in two different ways.
TestRules. See Javadoc for those annotations for more information. Multiple
TestRules can be applied to a test or suite execution. The
Statementthat executes the method or suite is passed to each annotated
Rulein turn, and each may return a substitute or modified
Statement, which is passed to the next
Rule, if any. For examples of how this can be useful, see these provided TestRules, or write your own:
ErrorCollector: collect multiple errors in one test method
ExpectedException: make flexible assertions about thrown exceptions
ExternalResource: start and stop a server, for example
TemporaryFolder: create fresh files, and delete after test
TestName: remember the test name for use during the method
TestWatcher: add logic at events during method execution
Timeout: cause test to fail after a set time
Verifier: fail test if object state ends up incorrect
Statement apply(Statement base, Description description)
Statementto implement this test-running rule.
Copyright © 2002-2012 JUnit. All Rights Reserved.