PHPackages                             async-interop/promise-test - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Testing &amp; Quality](/categories/testing)
4. /
5. async-interop/promise-test

ActiveLibrary[Testing &amp; Quality](/categories/testing)

async-interop/promise-test
==========================

An abstract test file to ensure compatibility between promise implementations.

v0.4.1(9y ago)2759MITPHPPHP &gt;=5.4.0

Since Jan 7Pushed 9y ago3 watchersCompare

[ Source](https://github.com/async-interop/promise-test)[ Packagist](https://packagist.org/packages/async-interop/promise-test)[ RSS](/packages/async-interop-promise-test/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (2)Versions (3)Used By (0)

Promise Tests
=============

[](#promise-tests)

This package provides a quite extensive phpunit test suite to be used against `Promise` implementations from the [async-interop/promise](https://github.com/async-interop/promise) package.

Usage
-----

[](#usage)

```
class MyDriverTest extends \Interop\Async\Promise\Test {
    function getFactory() {
        return new MyDriverFactory;
    }

    function getPromise() {
        $resolver = new MyPromiseResolver;
        return [
            $resolver->promise(),
            function($v) use ($resolver) { $resolver->succeed($v); },
            function($e) use ($resolver) { $resolver->fail($e); },
        ];
    }
}
```

That's it. Put it in your tests folder with an appropriate phpunit setup and run it.

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

3408d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3998a69b6a0ad8a66602c9543e2d1099cd79d1b4716181f6572be0f8432787ef?d=identicon)[Trowski](/maintainers/Trowski)

![](https://www.gravatar.com/avatar/f6db63ad594446f67d79532b75c69439fd0df779cc90868b43c187c02a4221ef?d=identicon)[bwoebi](/maintainers/bwoebi)

---

Top Contributors

[![bwoebi](https://avatars.githubusercontent.com/u/3154871?v=4)](https://github.com/bwoebi "bwoebi (8 commits)")[![kelunik](https://avatars.githubusercontent.com/u/2743004?v=4)](https://github.com/kelunik "kelunik (6 commits)")[![jsor](https://avatars.githubusercontent.com/u/55574?v=4)](https://github.com/jsor "jsor (2 commits)")[![trowski](https://avatars.githubusercontent.com/u/1628287?v=4)](https://github.com/trowski "trowski (2 commits)")

---

Tags

asynctestpromiseinterop

### Embed Badge

![Health badge](/badges/async-interop-promise-test/health.svg)

```
[![Health](https://phpackages.com/badges/async-interop-promise-test/health.svg)](https://phpackages.com/packages/async-interop-promise-test)
```

###  Alternatives

[ergebnis/phpunit-slow-test-detector

Provides facilities for detecting slow tests in phpunit/phpunit.

1468.1M72](/packages/ergebnis-phpunit-slow-test-detector)[ta-tikoma/phpunit-architecture-test

Methods for testing application architecture

10745.9M13](/packages/ta-tikoma-phpunit-architecture-test)[php-mock/php-mock-phpunit

Mock built-in PHP functions (e.g. time()) with PHPUnit. This package relies on PHP's namespace fallback policy. No further extension is needed.

1718.2M395](/packages/php-mock-php-mock-phpunit)[fr3d/swagger-assertions

Test your API requests and responses against your swagger definition

138850.9k5](/packages/fr3d-swagger-assertions)[innmind/black-box

Test library

44178.7k90](/packages/innmind-black-box)[laminas/laminas-test

Tools to facilitate integration testing of laminas-mvc applications

122.9M184](/packages/laminas-laminas-test)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
