{"id":13458771,"url":"https://github.com/awaitility/awaitility","last_synced_at":"2026-01-11T17:58:14.342Z","repository":{"id":787783,"uuid":"483924","full_name":"awaitility/awaitility","owner":"awaitility","description":"Awaitility is a small Java DSL for synchronizing asynchronous operations","archived":false,"fork":false,"pushed_at":"2024-08-07T19:32:34.000Z","size":1413,"stargazers_count":3821,"open_issues_count":79,"forks_count":243,"subscribers_count":75,"default_branch":"master","last_synced_at":"2024-10-29T19:17:34.449Z","etag":null,"topics":["asynchronous","awaitility","java","testing"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/awaitility.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["johanhaleby"]}},"created_at":"2010-01-22T15:12:52.000Z","updated_at":"2024-10-29T12:39:31.000Z","dependencies_parsed_at":"2024-01-03T01:25:49.855Z","dependency_job_id":"7fe08f32-ad58-453e-baf6-0295fe926b1b","html_url":"https://github.com/awaitility/awaitility","commit_stats":{"total_commits":731,"total_committers":55,"mean_commits":"13.290909090909091","dds":0.1833105335157319,"last_synced_commit":"925506c6c4b7975dac750b8c435089abc6b2713b"},"previous_names":["jayway/awaitility"],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awaitility%2Fawaitility","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awaitility%2Fawaitility/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awaitility%2Fawaitility/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/awaitility%2Fawaitility/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/awaitility","download_url":"https://codeload.github.com/awaitility/awaitility/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245298419,"owners_count":20592606,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asynchronous","awaitility","java","testing"],"created_at":"2024-07-31T09:00:57.111Z","updated_at":"2026-01-11T17:58:14.336Z","avatar_url":"https://github.com/awaitility.png","language":"Java","funding_links":["https://github.com/sponsors/johanhaleby","https://www.buymeacoffee.com/johanhaleby"],"categories":["Java","Projects","项目","测试"],"sub_categories":["Testing","测试"],"readme":"![Awaitility](resources/Awaitility_logo_red_small.png) \n\n[![Build Status](https://github.com/awaitility/awaitility/actions/workflows/ci.yml/badge.svg?branch=master)](https://github.com/awaitility/awaitility/actions/workflows/ci.yml)\n[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.awaitility/awaitility/badge.svg)](https://search.maven.org/#search%7Cgav%7C1%7Cg%3A\"org.awaitility\"%20AND%20a%3A\"awaitility\")\n\nTesting 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:\n\n```java\n@Test\npublic void updatesCustomerStatus() {\n    // Publish an asynchronous message to a broker (e.g. RabbitMQ):\n    messageBroker.publishMessage(updateCustomerStatusMessage);\n    // Awaitility lets you wait until the asynchronous operation completes:\n    await().atMost(5, SECONDS).until(customerStatusIsUpdated());\n    ...\n}\n```\n\n## News\n* 2025-02-21: Awaitility `4.3.0` is released with better Kotlin time support and a new way of using [untilAsserted](https://github.com/awaitility/awaitility/wiki/Usage#using-assertj-or-fest-assert). See [changelog](https://raw.githubusercontent.com/awaitility/awaitility/master/changelog.txt) for details. \n* 2024-08-07: Awaitility `4.2.2` is released with support for \"ea\" JVM versions. See [changelog](https://raw.githubusercontent.com/awaitility/awaitility/master/changelog.txt) for details.\n* 2024-03-15: Awaitility `4.2.1` is released. It allows for easier use of logging and some bug fixes and improvements. See [changelog](https://raw.githubusercontent.com/awaitility/awaitility/master/changelog.txt) for details.\n  \n[Older news](https://github.com/awaitility/awaitility/wiki/OldNews)\n\n## Documentation\n\n* [Getting started](https://github.com/awaitility/awaitility/wiki/Getting_started)\n* [Usage Guide](https://github.com/awaitility/awaitility/wiki/Usage)\n* [Awaitility Javadoc](http://www.javadoc.io/doc/org.awaitility/awaitility/4.3.0)\n\n## Links\n* [Change log](https://github.com/awaitility/awaitility/raw/master/changelog.txt)\n* Awaitility on [Open Hub](https://www.openhub.net/p/awaitility)\n* [Mailing list](http://groups.google.com/group/awaitility) for questions and support\n\n\u003ca href=\"https://www.buymeacoffee.com/johanhaleby\" target=\"_blank\"\u003e\u003cimg src=\"https://cdn.buymeacoffee.com/buttons/arial-blue.png\" alt=\"Buy Me A Coffee\" style=\"height: 42px !important;width: 180px !important;\" height=\"42px\" width=\"180px\"\u003e\u003c/a\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawaitility%2Fawaitility","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fawaitility%2Fawaitility","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fawaitility%2Fawaitility/lists"}