MockServer
This is version . It is not the current version, and thus it cannot be edited.
Back to current version   Restore this version

Der MockServer dient zum Mocken von HTTP-Requests. Er ist extrem einfach aufgebaut und entsprechend anzuwenden.

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 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);
	}
}

Einbinden und Download#

Der MockServer kann aus dem Intersult Maven Repository bezogen werden:
	<dependency>
		<groupId>com.intersult</groupId>
		<artifactId>testing</artifactId>
		<version>1.0-SNAPSHOT</version>
	</dependency>

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.