Chapter 5. HttpUnit

Introduction

HttpUnit, available from http://www.httpunit.org, is an open source Java library for programmatically interacting with HTTP servers. With HttpUnit, your Java programs can access servers directly, without the need for a browser. HttpUnit provides an API for parsing HTML, submitting forms, following hyperlinks, setting cookies, and performing many other tasks normally associated with web browsers. It also includes a class library for direct manipulation of servlets, sometimes bypassing the need to start a web server.

Despite its name, HttpUnit is not a testing tool. Instead, it provides an API for interacting with HTML and HTTP servers. You normally think of HttpUnit as a testing tool, however, because you use HttpUnit in conjunction with JUnit to write tests. JUnit defines the testing framework and your testXXX( ) methods use the HttpUnit API to access and test web pages.

Tip

Tests written with HttpUnit are usually more like “integration” tests than “unit” tests. A unit test normally tests a single method or class in isolation, while HttpUnit tests invoke HTTP servers across a network connection.

Using HttpUnit in combination with JUnit is the focus of the recipes in this chapter. The recipes are presented in order as portions of a simple web application developed using a test-first approach. If the web application were complete, it would allow users to subscribe and unsubscribe from a newsletter. It would also allow administrators to view the complete ...

Get Java Extreme Programming Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.