AMPHP is a collection of event-driven libraries for PHP designed with fibers and concurrency in mind. amphp/phpunit-util is a small helper package to ease testing with PHPUnit.
This package can be installed as a Composer dependency.
composer require --dev amphp/phpunit-utilThe package requires PHP 8.1 or later.
<?php namespace Foo; use Amp\ByteStream; use Amp\PHPUnit\AsyncTestCase; use Amp\Socket; class BarTest extends AsyncTestCase { // Each test case is executed as a coroutine and checked to run to completion public function test(): void { $socket = Socket\connect('tcp://localhost:12345'); $socket->write('foobar'); $this->assertSame('foobar', ByteStream\buffer($socket)); } }