Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Build Status Maven Central

Test Driver to test your RESTful services and clients.

There are two libraries here:

  • REST server driver - for testing your RESTful service
  • REST client driver - for testing your RESTful client & mocking remote services

Please note: version 2.0.0 onwards will require Java 8.

Downloads - Server Driver - Client Driver


Everyone knows that testing is good for your health and REST is good for your sanity. Now it is easy to keep both in check by allowing you to write quick, readable, fluid tests which are easy to refactor and give excellent error handling/reporting. So we provide these libraries to test from both ends of the pipe.

REST server driver

In order to do thorough testing of your RESTful service, you'll have to make actual HTTP requests and check the actual HTTP responses from your service. REST driver makes this as easy as:

Response response = get( "" );

assertThat(response, hasStatusCode(200));
assertThat(response.asJson(), hasJsonPath("$.name", equalTo("jeff")));

More info: Server Driver

REST client driver

If you have a client for a RESTful service, it's not ideal to have an actual service running somewhere to test against. This is difficult to keep on top of, makes for brittle/flickering tests, and tightly couples your tests to someone else's code.

We provide a mock-like interface which launches a real HTTP server and allows setup like this:

                            giveResponse("some wonderful content", "text/plain"));

The server will listen for a requests and respond with the replies you set. Any unexpected action or unmet expectation will fail your tests.

You can also use the client-driver to mock out any remote services which your RESTful service uses.

More info: Client Driver

Other languages

  • rest-cljer, a convenient Clojure wrapper for REST client driver.