Async PHPUnit helpers
- PHP 7.3
In addition for non-blocking context one of the following event libraries should be installed:
composer require harmonyio/phpunit-extension
PHPUnit's assertions can be used transparently on promises. The promises will automatically be resolved to their values and the eventual values will be asserted against.
<?php declare(strict_types=1);
namespace Foo\Test\Unit;
use Amp\Success;
use HarmonyIO\PHPUnitExtension\TestCase;
class BarTest extends TestCase
{
public function testPromiseValueAssertsCorrectly(): void
{
// the promise will be automatically resolved here
// and the eventual value will be asserted instead of the promise itself
$this->assertTrue(new Success(true));
}
}