README.md

April 17, 2026 ยท View on GitHub

Awaitility

Build Status Maven Central

Testing asynchronous systems is hard. Not only does it require handling threads, timeouts, and concurrency issues, but the intent of the test code can be obscured by all these details. Awaitility is a DSL that allows you to express expectations of an asynchronous system in a concise and easy-to-read manner. For example:

@Test
public void updatesCustomerStatus() {
    // Publish an asynchronous message to a broker (e.g. RabbitMQ):
    messageBroker.publishMessage(updateCustomerStatusMessage);
    // Awaitility lets you wait until the asynchronous operation completes:
    await().atMost(Duration.ofSeconds(5)).until(customerStatusIsUpdated());
    ...
}

News

  • 2026-04-17: Awaitility 4.3.1 is released with configurable default timeout/poll settings via system properties, documentation updates, and dependency/build improvements. See changelog for details.
  • 2025-02-21: Awaitility 4.3.0 is released with better Kotlin time support and a new way of using untilAsserted. See changelog for details.
  • 2024-08-07: Awaitility 4.2.2 is released with support for "ea" JVM versions. See changelog for details.

Older news

Documentation

Buy Me A Coffee