REST Assured

Build Status Maven Central

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", hasItems(23, 54));

}

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

Fork me on GitHub

News

News

  • 2023-12-08: REST Assured 5.4.0 is released with several bug fixes and a Kotlin Extension Module for Spring WebTest. See change log for more details.
  • 2023-09-08: REST Assured 5.3.2 is released with several bug fixes, better Spring MockMvc Support, better support for newer versions of Spring Security etc. See change log for more details.
  • 2023-06-16: REST Assured 5.3.1 is released with several bug fixes and dependency upgrades. See change log 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.