Skip to content

Awaitility is a small Java DSL for synchronizing asynchronous operations

License

Notifications You must be signed in to change notification settings

estekhin/awaitility

 
 

Repository files navigation

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(5, SECONDS).until(customerStatusIsUpdated());
    ...
}

News

  • 2024-03-15: Awaitility 4.2.1 is released. It allows for easier use of logging and some bug fixes and improvements. See changelog for details.
  • 2022-03-04: Awaitility 4.2.0 is released. It allows the use of assertion libraries 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.

Older news

Documentation

Links

Buy Me A Coffee

About

Awaitility is a small Java DSL for synchronizing asynchronous operations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 92.1%
  • Kotlin 4.2%
  • Groovy 1.8%
  • Scala 1.1%
  • Shell 0.8%