Der [MockServer] dient zum Mocken von HTTP-Requests. Er ist extrem einfach aufgebaut und entsprechend anzuwenden. Der [MockServer] ist Bestandteil von [Intersult Testing].
!!!Anwendung
Der [MockServer] kann zum Test für Systeme verwendet werden, die konforme Netzwerkzugriffe durchführen. Also über die URL-Klasse mit openConnection eine Verbindung aufbauen.
Neben dem genauen festlegen von Reihenfolge und Inhalt von HTTP-Requests in Testfällen, wird auch das Öffnen von Ports vermieden. Gerade auf [Continuous-Integration-Servern|Continuous Build Process] ist dies von Vorteil, aufgrund von Sicherheit und der leichteren Konfiguration.
!!!Beispiele
!JUnit-Test
{{{
public class MockTest {
@BeforeClass
public static void beforeClass() {
MapMockServer server = new MapMockServer();
server.add("test://localhost/test", "Test-Response");
ProtocolFactory.register(new MockProtocol("test", server));
}
@Test
public void test() throws IOException {
URL url = new URL("test://localhost/test");
String response = IOUtils.readString(url.openStream());
Assert.assertEquals("Test-Response", response);
}
}
}}}
!!!Hintergrund
Die URL-Klasse wurde gerade in den letzten [Java]-Versionen ausgebaut, sodass eine Menge Protokolle und Details unterstützt werden, neben HTTP auch HTTPS, SSL, NTLM, File-, Zip-, Jar-Protokolle und viele mehr.
Daher setzen immer mehr Technologien darauf auf und erleichtern einen einheitlichen Umgang mit Netzwerkverkehr.