我编写了许多成功的测试来证明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")));
例如,模拟500
,这应该起作用:
stubFor(post(urlPathEqualTo("/v1/transaction/"))
.withRequestBody(equalToJson(createRequest))
.willReturn(aResponse()
.withStatus(500)
.withBody(responseBody)))
要使用所有这些方法(例如stubFor
,post
):
import static com.github.tomakehurst.wiremock.client.WireMock.*