Я пытаюсь подтвердить запрос на сервер WireMock, но получаю сообщение об ошибке, в котором говорится, что запросы не совпадают.Единственный бит, который не соответствует, это бит «Content-Type: plain \ text».
Пожалуйста, смотрите ниже мой код:
public class WeatherApplicationTest {
@Rule
public WireMockRule wireMockRule = new WireMockRule(8080);
// public WireMockServer wireMockServer = new WireMockServer(8090); //No-args constructor will start on port 8080, no HTTPS
@BeforeClass
public static void setUpClass() {
//wireMockServer.start();
}
@AfterClass
public static void tearDownClass() {
//wireMockServer.stop();
}
@Test
public void statusMessage() throws IOException{
wireMockRule.start();
stubFor(get(urlEqualTo("/user/1"))
.willReturn(aResponse()
.withStatus(200)
.withStatusMessage("Everything is fine")
.withHeader("Content-Type","text/plain")));
HttpClient client = new DefaultHttpClient();
HttpClient client2 = new DefaultHttpClient();
HttpGet request = new HttpGet("http://localhost:" + wireMockRule.port() +
"/user/1");
HttpResponse response = client.execute(request);
HttpGet request2 = new HttpGet("http://localhost:" + wireMockRule.port() +
"/some/else");
HttpResponse response2 = client2.execute(request2);
assertThat(response.getStatusLine().getStatusCode(), is(200));
assertThat(response2.getStatusLine().getStatusCode(), is(404));
verify(getRequestedFor(urlEqualTo("/user/1"))
.withHeader("Content-Type", equalTo("text/plain")));
wireMockRule.stop();
}
}
Это сообщение об ошибке, которое яполучение:
Нет совпадений запросов.Наиболее похожий запрос был: ожидаемый:
Content-Type: text / plain
, но был: