/awaitility

Awaitility is a small Java DSL for synchronizing asynchronous operations

Primary LanguageJavaApache License 2.0Apache-2.0

Awaitility

Build Status Maven Central Javadoc

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() throws Exception {
    // Publish an asynchronous event:
    publishEvent(updateCustomerStatusEvent);
    // Awaitility lets you wait until the asynchronous operation completes:
    await().atMost(5, SECONDS).until(customerStatusIsUpdated());
    ...
}

News

  • 2018-06-29: Awaitility 3.1.1 is released with bug fixes, improvements and a Kotlin extension. See changelog for details.
  • 2018-03-02: Awaitility 3.1.0 is released with several improvements and changes. See changelog for details.
  • 2017-04-28: Awaitility 3.0.0 is released with lots of improvements and changes to 2.0.0. See release notes and changelog for details.

Older news

Documentation

Links