org.junit.rules
Class ExternalResource
java.lang.Objectorg.junit.rules.ExternalResource
- All Implemented Interfaces:
- TestRule
- Direct Known Subclasses:
- TemporaryFolder
-
public abstract class ExternalResource
- extends 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 | |
---|---|
ExternalResource() |
Method Summary | |
---|---|
protected void |
after() Override to tear down your specific external resource. |
Statement |
apply(Statement base, Description description) Modifies the method-running Statement to implement this test-running rule. |
protected void |
before() Override to set up your specific external resource. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
ExternalResource
public ExternalResource()
Method Detail |
---|
apply
public Statement apply(Statement base, Description description)
-
Description copied from interface:
TestRule
-
Modifies the method-running
Statement
to implement this test-running rule. -
- Parameters:
-
base
- TheStatement
to be modified -
description
- 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 Throwable
-
Override to set up your specific external resource.
-
-
- Throws:
-
Throwable
- if setup fails (which will disableafter
after
protected void after()
-
Override to tear down your specific external resource.
-
-