单元测试-Wiremock验证失败并出现连接错误

我正在测试一个Spring Boot应用程序,并使用Wiremock存根模拟外部API。在一个测试案例中,我想确保我的存根仅被调用一次,但是由于连接错误而失败。

我的测试文件:

@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")))

}

当我运行此测试时,出现以下错误:

org.apache.http.conn.HttpHostConnectException:连接到localhost:8080 [localhost /

127.0.0.1,localhost / 0:0:0:0:0:0:0:0:1]失败:连接被拒绝(连接被拒绝)

请让我知道我在哪里做错了。提前致谢。

回答:

您需要使用wireMockServer.verify()而不是来在特定服务器上执行验证调用WireMock.verify()

以上是 单元测试-Wiremock验证失败并出现连接错误 的全部内容, 来源链接: utcz.com/qa/415500.html

回到顶部