public abstract class ExternalResource extends Object implements MethodRule
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); } }
Constructor and Description |
---|
ExternalResource() |
Modifier and Type | Method and Description |
---|---|
protected void |
after()
Override to tear down your specific external resource.
|
Statement |
apply(Statement base,
FrameworkMethod method,
Object target)
Modifies the method-running
Statement to implement an additional
test-running rule. |
protected void |
before()
Override to set up your specific external resource.
|
public final Statement apply(Statement base, FrameworkMethod method, Object target)
MethodRule
Statement
to implement an additional
test-running rule.apply
in interface MethodRule
base
- The Statement
to be modifiedmethod
- The method to be runtarget
- The object on with the method will be run.base
,
a wrapper around base
, or a completely new Statement.protected void before() throws Throwable
if
- setup fails (which will disable after
Throwable
protected void after()