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 the 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

  • 2017-01-20: REST Assured 3.0.2 is released. This is a maintence release with several bug fixes. See change log for details.
  • 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.

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.