Awaitility is a Java testing library and DSL that allows you to express expectations of an asynchronous system in a concise and easy to read manner.
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: