Andre Perez
Andre Perez

Reputation: 29

Best API / lib to unit test Jersey Restful Web Services?

What is the best library / API to unit test Jersey based Restful Web Services? Some APIs like JerseyTest seem outdated (had conflicts when using them in my pom) and also seem to be depending on a particular container, such as Glassfish or Grizzly... I am deploying my Jersey based Restful Web Services as a war file into Tomcat 7. Is there a way to use a testing framework which has an embedded web server or in-memory solution? Thanks again.

Upvotes: 2

Views: 2802

Answers (2)

Micha Kops
Micha Kops

Reputation: 146

I'm using rest-assured for many of my projects as it offers a highly specialized dsl to write your tests and once you've grown custom to the notation, writing tests is done really quick.

A variety of examples can be found on the project website but for a quick preview - a sample test could look like this snippet:

expect()
  .statusCode(200)
  .body("user.id", equalTo(1))
.when()
.given()
  .contentType(ContentType.JSON)
.get("http://test/rest"); 

As my blog was quoted by Balaji, I'd like to add that there is this article of mine with more examples for the rest-assured framework and also a downloadable REST-server for testing the examples.

A test example with jersey-test could look like this example taken from the project's documentation:

public class SimpleTest extends JerseyTest {

    @Path("hello")
    public static class HelloResource {
        @GET
        public String getHello() {
            return "Hello World!";
        }
    }

    @Override
    protected Application configure() {
        return new ResourceConfig(HelloResource.class);
    }

    @Test
    public void test() {
        final String hello = target("hello").request().get(String.class);
        assertEquals("Hello World!", hello);
    }
}

Upvotes: 1

There are couple of frameworks that I am aware of atleast :

REST-EASY : http://www.hascode.com/2011/09/rest-assured-vs-jersey-test-framework-testing-your-restful-web-services/

Jersey Test Framework : https://jersey.java.net/documentation/1.17/test-framework.html

Jersey test Framework is easier to use.

Upvotes: 2

Related Questions