akondas/exspecto
最新稳定版本:1.2.0
Composer 安装命令:
composer require --dev akondas/exspecto
包简介
Small PHP DSL for synchronizing asynchronous operations (busy-waiting)
README 文档
README
Small PHP DSL for synchronizing asynchronous operations (busy-waiting).
A simple and useful library recommended especially for testing asynchronous systems. Exspecto allows you to express expectations of an asynchronous system in a concise and easy to read manner. Example:
await()->atMost(1)->until(function() { return customerStatusIsUpdated(); });
You can use pollInterval to set how often the condition should be checked (default value is 100 milliseconds):
await()->atMost(3)->pollInterval(200)->until(function() { return customerStatusIsUpdated(); });
You can also await for given value in case the returning method (closure) could throw an exception:
$value = await()->atMost(3)->pollInterval(200)->on(fn() => getValue());
exspecto - from latin: wait for, await
Install
composer require akondas/exspecto
Roadmap
-
untilAssertedfor example:untilAsserted('UserRepository::size', equaltTo(3)) - support different poll interval strategy (fixed, fibonacci, iterative)
-
ignoreExceptionsdo not stop when exceptions occur (ignoreException(string $exceptionClass)) -
atLeast -
unitlNotNull,untilNulletc.
License
Exspecto is released under the MIT Licence. See the bundled LICENSE file for details.
Author
Arkadiusz Kondas (@ArkadiuszKondas)
统计信息
- 总下载量: 2.88k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-01-27