Popularity
6.8
Growing
Activity
8.0
Growing
1,717
74
142

Description

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:

Code Quality Rank: L5
Programming language: Java
Tags: Testing    

Awaitility alternatives and similar libraries

Based on the "Testing" category

Do you think we are missing an alternative of Awaitility or a related project?

Add another 'Testing' Library

README

[Awaitility](resources/Awaitility_logo_red_small.png)

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

  • 2019-07-15: Awaitility 4.0.0-rc1 is released. This release requires Java 8 or above. Please try it out and provide feedback. See changelog for details and upgrade instructions.
  • 2019-01-25: Awaitility 3.1.6 is released with upgrades to the Kotlin DSL. It bumps the Kotlin dependency to 1.3.11 and enables the has function to be used by non-null data types. See changelog for details.
  • 2018-12-06: Awaitility 3.1.5 is released with two new Kotlin extension functions: untilNull and has. See changelog for details.

Older news

Documentation