This package allows you to easily test the sleep() and usleep() functions without having to "wait".
You can install the package via composer:
composer require driade/sleeperyInstead of using sleep() in your code you should use
Driade\Sleepery::dream(1);and, instead of using usleep() in your code you should use
Driade\Sleepery::nap(1000);When it comes to test your code, you can use the "fake" function to make the calls to dream() and nap() recorded, so you can later test them.
In your tests
use Driade\Sleepery;
Sleepery::fake();
(new PerformAction)->handle(); // execute your code
Sleepery::wakeup();
//
Sleepery::assertDreamt(1);
Sleepery::assertNapped(1000);You may also use the following functions
Sleepery::assertNeverDreamt(); // no call to sleep() was madeSleepery::assertNeverNapped(); // no call to usleep() was madeSleepery::getDreams(); // returns all the dream() calls while dreamingSleepery::getNaps(); // returns all the nap() calls while dreamingSleepery::wakeup(); // stop dreamingcomposer testPlease feel free to open an issue or pull request if you think something can be improved
The MIT License (MIT). Please see License File for more information.