REST Assured

Build Status Maven Central Javadoc

Testing and validating REST services in Java is harder than in dynamic languages such as Ruby and Groovy. REST Assured brings the simplicity of using these languages into the Java domain. For example if your HTTP server returns the following JSON at “http://localhost:8080/lotto/{id}”:

{
   "lotto":{
      "lottoId":5,
      "winning-numbers":[2,45,34,23,7,5,3],
      "winners":[
         {
            "winnerId":23,
            "numbers":[2,45,34,23,3,5]
         },
         {
            "winnerId":54,
            "numbers":[52,3,12,11,18,22]
         }
      ]
   }
}

You can easily use REST Assured to validate interesting things from response:

@Test public void
lotto_resource_returns_200_with_expected_id_and_winners() {
    
    when().
            get("/lotto/{id}", 5).
    then().
            statusCode(200).
            body("lotto.lottoId", equalTo(5), 
                 "lotto.winners.winnerId", containsOnly(23, 54));

}

Looks easy enough? Why not give it a spin? See getting starting and usage guide.

Fork me on GitHub

News

News

  • 2016-09-21: REST Assured 3.0.1 is released. This is a maintence release with several bug fixes. See change log for details.
  • 2016-06-17: Bas Dijkstra has been generous enough to open source his REST Assured workshop. You can read more about this here and you can try out, and contribute to, the exercises available in his github repository.
  • 2016-06-03: REST Assured 3.0.0 is released. This is a new major release with lots of updates and new features such as the ability to use any HTTP method, all HTTP methods now supports multipart uploads, improved error messages, improved JsonPath etc. Note The package name has changed to io.restassured and the groupId has changed to io.rest-assured. Please see release notes and getting started guide for more details.

Click here for older news.

Release Notes
Docs
Who

Who

REST Assured is developed and maintained by Johan Haleby with the help of numerous other contributors over the years. Would you like to contribute to the project in any way? Submit a pull request or contact Johan at Twitter.

Johan started the project when he was working at Jayway back in December of 2010. The project is now sponsored by Parkster.