Spock Spring Boot Example Save Abandoned

An example of testing Spring Boot application with Spock framework

Project README

Spock and Spring Boot example Build Status Gradle Status

This is an example of Spring Boot app tested with Spock framework.

  • Spring Boot 1.5
  • Spock 1.1

Component Test

These are component tests using the constructor mock injection.

Mark as a Spring Boot test without the web environment:

@SpringBootTest(webEnvironment = NONE)

Instantiate a service class with a mock dependency.

    @Subject BarService service

    ExternalApiClient client = Mock()

    def setup() {
        service = new BarService(client)
    }

Declare the mock interaction by Spock style:

        given:
        1 * client.getDefault() >> new Hello('world')

Integration Test

These are end-to-end tests using the test rest template. See also Testing improvements in Spring Boot 1.4.

Mark as a Spring Boot test with the real web environment:

@SpringBootTest(webEnvironment = RANDOM_PORT)

Import the mock configuration.

@Import(IntegrationTestConfiguration)

Use the TestRestTemplate to make a request.

    @Autowired
    TestRestTemplate restTemplate

Make a request to the target application:

        when:
        def entity = restTemplate.getForEntity('/foo', Hello)

Verify the response:

        then:
        entity.statusCode == HttpStatus.OK
        entity.body.name == 'world'
Open Source Agenda is not affiliated with "Spock Spring Boot Example" Project. README Source: int128/spock-spring-boot-example
Stars
34
Open Issues
27
Last Commit
3 years ago

Open Source Agenda Badge

Open Source Agenda Rating