Package org.junit.rules
Class ExternalResource
- java.lang.Object
-
- org.junit.rules.ExternalResource
-
- All Implemented Interfaces:
TestRule
- Direct Known Subclasses:
TemporaryFolder
public abstract class ExternalResource extends java.lang.Object implements TestRule
A base class for Rules (like TemporaryFolder) that set up an external resource before a test (a file, socket, server, database connection, etc.), and guarantee to tear it down afterward:public static class UsesExternalResource { Server myServer= new Server(); @Rule public ExternalResource resource= new ExternalResource() { @Override protected void before() throws Throwable { myServer.connect(); }; @Override protected void after() { myServer.disconnect(); }; }; @Test public void testFoo() { new Client().run(myServer); } }
- Since:
- 4.7
-
-
Constructor Summary
Constructors Constructor Description ExternalResource()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
after()
Override to tear down your specific external resource.Statement
apply(Statement base, Description description)
Modifies the method-runningStatement
to implement this test-running rule.protected void
before()
Override to set up your specific external resource.
-
-
-
Constructor Detail
-
ExternalResource
public ExternalResource()
-
-
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.
-
before
protected void before() throws java.lang.Throwable
Override to set up your specific external resource.- Throws:
java.lang.Throwable
- if setup fails (which will disableafter
-
after
protected void after()
Override to tear down your specific external resource.
-
-