Estoy probando una aplicación de arranque de resorte y usando stubs de wiremock para simular una API externa. En un caso de prueba, quiero asegurarme de que mi código auxiliar se llame exactamente una vez, pero falla con un error de conexión.
Mi archivo de prueba:
@SpringBootTest @AutoConfigureWebTestClient @ActiveProfiles("test") class ControllerTest { @Autowired private lateinit var webClient: WebTestClient private lateinit var wireMockServer: WireMockServer @BeforeEach fun setup() { wireMockServer = WireMockServer(8081) wireMockServer.start() setupStub() } @AfterEach fun teardown() { wireMockServer.stop() } // Stub for external API private fun setupStub() { wireMockServer.stubFor( WireMock.delete(WireMock.urlEqualTo("/externalApiUrl")) .willReturn( WireMock.aResponse() .withHeader("Content-Type", "application/json") .withStatus(204) .withBodyFile("file.json") ) ) } @Test fun test_1() { val email = "some-email" val Id = 123 webClient.post() .uri { builder -> builder.path("/applicationUrl") .queryParam("email", email) .queryParam("id", Id) .build() } .exchange() .expectStatus().isOk WireMock.verify(exactly(1), WireMock.deleteRequestedFor(WireMock.urlEqualTo("/externalApiUrl"))) }Cuando ejecuto esta prueba me sale el siguiente error:
org.apache.http.conn.HttpHostConnectException: Conectar con localhost:8080 [localhost/127.0.0.1, localhost/0:0:0:0:0:0:0:1] falló: Conexión rechazada (Conexión rechazada)
Por favor, hágame saber dónde estoy haciendo mal. Gracias por adelantado.
Debe realizar la llamada de verificación en su servidor específico con algo como wireMockServer.verify() en lugar de WireMock.verify() .