Наблюдаете за изменениями в монго? - PullRequest
0 голосов
/ 17 декабря 2018

У меня есть интеграционный тест для системы, которая использует очередь (nats) и 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)

Может быть, я мог бы наблюдать за потоком событий в БД в Монго?

...