如何返回Wiremock集成测试的故障代码?

问题描述 投票:0回答:1

我编写了许多成功的测试来证明HttpStatus代码已正确返回,但是我现在正在寻找验证返回的Fault代码如下。通常我会说

 assertThat(actualResponse.getStatusCode(), is(status));

获取Http状态代码。如何验证故障代码?我目前有以下内容,但不确定如何从ActualResponse正文返回错误代码。

public void shouldReturnSuitableStatusCodeForScenario(String requestFileName,Fault fault, String actualResponseFileName) throws JSONException {
    //Given
    String createRequest = readJsonFromFile(DIRECTORY, requestFileName);

    //When
    ResponseEntity<String> actualResponse = stub.postForEntity(HTTP_LOCALHOST_8081 + "/v1/transaction/", createRequest, String.class);

    //Then
    assertThat(actualResponse, is(fault));
    JSONAssert.assertEquals(readJsonFromFile(DIRECTORY, actualResponseFileName), actualResponse.getBody(), true);
}

当前存根,省略了一些brevit代码:

.willReturn(aResponse() .withHeader(CONTENT_TYPE, APPLICATION_JSON_VALUE) .withFault(Fault.MALFORMED_RESPONSE_CHUNK) .withBodyFile("/malformed_chunk_response.json")));
java junit5 wiremock
1个回答
0
投票

例如,模拟500,这应该起作用:

 stubFor(post(urlPathEqualTo("/v1/transaction/"))
                .withRequestBody(equalToJson(createRequest))
                .willReturn(aResponse()
                        .withStatus(500)
                        .withBody(responseBody)))

要使用所有这些方法(例如stubForpost):

import static com.github.tomakehurst.wiremock.client.WireMock.*
© www.soinside.com 2019 - 2024. All rights reserved.