harmonyio/phpunit-extension

Asynchronous helpers for PHPUnit


README

Latest Stable Version Build Status Build status Coverage Status License

Async PHPUnit helpers

Requirements

  • PHP 7.3

In addition for non-blocking context one of the following event libraries should be installed:

Installation

composer require harmonyio/phpunit-extension

Usage

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));
    }
}