Тестирование Spring Boot Server и клиента.Можно ли их объединить для достижения чего-то подобного? - PullRequest
0 голосов
/ 18 марта 2019

Объединение тестирования сервера MockMvc и тестирования клиента @RestClientTest. Это возможно, или они всегда будут конфликтовать друг с другом?

@AutoConfigureMockMvc
@RestClientTest(BackendApiClient.class)
public class ApiGatewayControllerTest extends ApiTest {

    @Autowired
    private MockMvc mockMvc;

    @Autowired
    private MockRestServiceServer mockServer;

    @Test
    public void get_backend_defs_should_return_200() throws Exception {
        mockServer.expect(ExpectedCount.once(), requestTo("/apirepo"))
                .andExpect(method(HttpMethod.GET))
                .andRespond(withStatus(HttpStatus.OK)
                .contentType(MediaType.APPLICATION_JSON)
                .body(loadFileAsString("json/client/get_all.json")));


        getJson("/get/backend").andExpect(isOk()).andExpect(
                MockMvcResultMatchers.content().json(loadFileAsString("json/controller/get_all.json")));
        mockServer.verify();
    }

    private ResultActions getJson(String path) throws Exception {
        return mockMvc.perform(
            MockMvcRequestBuilders.get(path).accept(MediaType.APPLICATION_JSON));
    }

}

Спасибо

...