Skip to content
Go to file

Latest commit


Git stats


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

Dropwizard Integration Testing Build Status


Utilities for writing dropwizard integration tests, which allow for starting and stopping a service without stopping the jvm.

Typically, a dropwizard service provides three components:

  • API - defines the model
  • Client - defines a simple interface to access the service
  • Service - the dropwizard RESTful service

An integration test in this context tests the full service stack, i.e., the Service is started a call from the Client is issued to the Service and a result from the API package is returned. Finally, the service is stopped.

The package provides three classes:

  • TestServer - a utility class that creates a server that can be started and stopped. Additionally it can prepare files for test.
  • LifecycleService - a wrapper around the dropwizard service class which enables its lifecycle to be managed
  • LifecycleServerCommand - the substitute for the ServerCommand which enables lifecycle management

To use the utilities include the following dependency in your pom


The com.yammer.dropwizard.testing.integration.TestServiceIntegrationTest is an example of how the tools can be used to write an integration test. It uses the provided ExampleService dropwizard service.

NOTE that the example starts and stops the dropwizard instance for each test. On larger test suites it might be useful to do this once (in the @BeforeClass and @AfterClass methods) and use a test endpoint for resetting state between tests. Extra care should be taken with respect to asynchronous tasks - Guava's MoreExecutors.sameThreadExecutor() may come in handy.


Utilities for writing dropwizard integration tests.




You can’t perform that action at this time.