Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.


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:

public void updatesCustomerStatus() {
    // Publish an asynchronous message to a broker (e.g. RabbitMQ):
    // Awaitility lets you wait until the asynchronous operation completes:
    await().atMost(5, SECONDS).until(customerStatusIsUpdated());


  • 2022-03-04: Awaitility 4.2.0 is released. It allows the use of assertion libaries such as Hamcrest or Assertj in fail-fast conditions as well as various improvements and bug fixes. See changelog for details.
  • 2021-10-25: Awaitility 4.1.1 is released. This release includes some bug fixes and small improvements. See changelog for details.
  • 2021-05-08: Awaitility 4.1.0 is released. This release includes fail-fast conditions as well as some bug fixes and dependency updates. See changelog for details.

Older news



Buy Me A Coffee