我对使用队列(nat)和mongodb的系统进行了集成测试。
我的测试方案是在队列上发布新值,然后检查是否已读取并正确存储在应用程序中。
当前在声明逻辑之前,我使用丑陋的睡眠:
Thread.sleep(500)
我想知道还有更好的等待条件的方法吗?
我的断言代码:
val devicesResponseBody = webTestClient.get().uri("/devices")
.exchange()
.expectStatus()
.isOk
.expectBody()
.returnResult()
.responseBody
val devices =
objectMapper.readValue<DevicesResponse>(devicesResponseBody, DevicesResponse::class.java)
assertThat(
DevicesResponse(
listOf(
DeviceResponse(
//...
)
)
)
).isEqualTo(devices)
也许我可以在mongo中监视数据库事件流?