Skip to content

Restito - mocking framework for testing rest clients

License

Notifications You must be signed in to change notification settings

patryk-marcin-zielinski/restito

 
 

Repository files navigation

Restito - testing framework for rest clients Build Status Maven Central

Restito is a tool which is inspired by mockito and functionally is diametrically opposite to the Rest Assured.

Restito provides a DSL to:

  • Mimic rest server behavior
  • Record HTTP calls to the server
  • Perform verification against happened calls

Which means that it helps you to test an application which makes calls to some HTTP service. Restito sets up a StubServer instance which responds to your application's Calls based on defined Stubs. A stub makes some Action to response when Condition is respected.

For more motivation, please read Motivation section of the Developer's guide.

Developer's guide is the best place to start. FOR LOTS OF EXAMPLES CLICK -> HERE <- :-)

For more details you can also check Restito's javadoc.

Quick example:

package com.xebialabs.restito;

...

public class SimpleRequestsTest {

    private StubServer server;

    @Before
    public void start() {
        server = new StubServer().run();
        RestAssured.port = server.getPort();
    }

    @After
    public void stop() {
        server.stop();
    }

    @Test
    public void shouldPassVerification() {
        // Restito
        whenHttp(server).
                match(get("/demo")).
                then(status(HttpStatus.OK_200));

        // Rest-assured
        expect().statusCode(200).when().get("/demo");

        // Restito
        verifyHttp(server).once(
                method(Method.GET),
                uri("/demo")
        );
    }

}

Maven instructions

<dependency>
    <groupId>com.xebialabs.restito</groupId>
    <artifactId>restito</artifactId>
    <version>0.9.2</version>
</dependency>

Building instructions

$ gradle clean build

About

Restito - mocking framework for testing rest clients

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 95.9%
  • Scala 3.0%
  • Shell 1.1%