Class OnlineTestSupport
- Object
-
- OnlineTestSupport
-
public abstract class OnlineTestSupport extends Object
JUnit 4 test support for test cases that require an "online" resource, such as an external server or database.See
OnlineTestCase
for details of behaviour and test fixture configuration.Subclass names should end with "OnlineTest" to allow Maven to treat them specially.
This class contains an adapter to
OnlineTestCase
that allows its use with JUnit 4. Delegation is used to recycle the behaviour ofOnlineTestCase
without extendingTestCase
. This is necessary becauseTestRunner
s appear to give priority to JUnit 3 behaviour, ignoring JUnit 4 annotations in suites that extendTestCase
.- Author:
- Ben Caradoc-Davies, CSIRO Earth Science and Resource Engineering
- See Also:
OnlineTestCase
-
-
Constructor Summary
Constructors Constructor Description OnlineTestSupport()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
after()
void
before()
protected void
connect()
Override this method to connect to an online resource.protected Properties
createExampleFixture()
Allows test to create a sample fixture for users.protected Properties
createOfflineFixture()
Allows tests to create an offline fixture in cases where the user has not specified an explicit fixture for the test.protected void
disconnect()
Override this method to disconnect from an online resource.protected Properties
getFixture()
Return properties configured in the fixture.protected abstract String
getFixtureId()
Subclasses must override this method to return a fixture id.protected boolean
isOnline()
Override this method to return false if you can detect that an online resource required for this test is not available,protected void
setUpInternal()
Method for subclasses to latch onto the setup phase.protected void
tearDownInternal()
Method for subclasses to latch onto the teardown phase.
-
-
-
Method Detail
-
getFixtureId
protected abstract String getFixtureId()
Subclasses must override this method to return a fixture id.- Returns:
- fixture id
- See Also:
OnlineTestCase.getFixtureId()
-
connect
protected void connect() throws Exception
Override this method to connect to an online resource. Throw an exception on failure.Subclasses do not have to override this method, but doing so allows builders to choose to have this test disable itself when the online resource is not available.
- Throws:
Exception
- See Also:
OnlineTestCase.connect()
-
disconnect
protected void disconnect() throws Exception
Override this method to disconnect from an online resource. Throw an exception on failure.- Throws:
Exception
- See Also:
OnlineTestCase.disconnect()
-
isOnline
protected boolean isOnline() throws Exception
Override this method to return false if you can detect that an online resource required for this test is not available,- Returns:
- false if a required resource is not online
- Throws:
Exception
- See Also:
OnlineTestCase.isOnline()
-
setUpInternal
protected void setUpInternal() throws Exception
Method for subclasses to latch onto the setup phase.- Throws:
Exception
- See Also:
OnlineTestCase.setUpInternal()
-
tearDownInternal
protected void tearDownInternal() throws Exception
Method for subclasses to latch onto the teardown phase.- Throws:
Exception
- See Also:
OnlineTestCase.tearDownInternal()
-
createOfflineFixture
protected Properties createOfflineFixture()
Allows tests to create an offline fixture in cases where the user has not specified an explicit fixture for the test.Note, that this should method should on be implemented if the test case is created of creating a fixture which relies solely on embedded or offline resources. It should not reference any external or online resources as it prevents the user from running offline.
- See Also:
OnlineTestCase.createOfflineFixture()
-
createExampleFixture
protected Properties createExampleFixture()
Allows test to create a sample fixture for users.If this method returns a value the first time a fixture is looked up and not found this method will be called to create a fixture file with the same id, but suffixed with .template.
- See Also:
OnlineTestCase.createExampleFixture()
-
getFixture
protected Properties getFixture()
Return properties configured in the fixture.This method allows subclasses in other packages to access fixture properties.
- Returns:
- properties configured in the fixture.
-
-