Writing automatic tests requiring external resources

compared with
Key
This line was removed.
This word was removed. This word was added.
This line was added.

Changes (5)

View Page History
The Petals JUnit Framework comes with several external resources ready to use:
* a Web server,
* a FTP server.,
* an in-memory log handler for Java Util Logging.

{column}
h1. A Web server as external resource

The {{WebServer}} rule allows creation of files and folders a web-server that are is guaranteed to be deleted when the test method finishes (whether it passes or fails):
{code}
public static class HasWebServer {
h1. A FTP server as external resource

The {{FTPServer}} rule allows creation of files and folders a FTP server that are is guaranteed to be deleted when the test method finishes (whether it passes or fails):
{code}
public static class HasFTPServer {
}
{code}

h1. An in-memory log handler as external resource

The {{InMemoryLogHandler}} rule allows creation of log handler that store log records that are guaranteed to be deleted when the test method finishes (whether it passes or fails):
{code}
public static class HasInMemoryLogHandler {
@Rule
public InMemoryLogHandler inMemoryRealLogHandler = new InMemoryLogHandler();

@Test
public void testUsingInMemoryLogHandler() throws IOException {
// ...
final Logger logger = Logger.getAnonymousLogger();
logger.addHandler(this.inMemoryLogHandler.getHandler());
logger.setLevel(Level.MONIT);
// ...
final List<LogRecord> allLogRecords = this.inMemoryLogHandler.getAllRecords(Level.MONIT);
assertEquals(2, allLogRecords.size());
// ...
}
}
{code}