Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Async Test Utilities Laravel Package

wyrihaximus/async-test-utilities

Async test utilities for PHP/React tests. Extend AsyncTestCase to run each test inside a Fiber, get random namespaces/directories for filesystem tests, and control per-test or per-class timeouts via the TimeOut attribute (default 30s).

View on GitHub
Deep Wiki
Context7
10.6.0

10.6.0

  • Total issues resolved: 0
  • Total pull requests resolved: 3
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

10.4.0

10.4.0

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

10.3.0

10.3.0

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

10.2.0

10.2.0

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

10.0.0

Starting this major release when adding running composer install/update with this package, and wyrihaximus/makefiles in your require-dev. The following bit in composer.json:

  "scripts": {
    "post-install-cmd": [
      "composer normalize",
      "composer update --lock --no-scripts"
    ],
    "post-update-cmd": [
      "composer normalize",
      "composer update --lock --no-scripts"
    ]
  }

Will be replaced with:

  "scripts": {
    "post-install-cmd": [
      "composer normalize",
      "make on-install-or-update || true"
    ],
    "post-update-cmd": [
      "composer normalize",
      "make on-install-or-update || true"
    ]
  }

If neither of those scripts blocks are found, they will be created and make on-install-or-update || true will be put in each of those.

AFAIK I'm the only one using this package, plus the orgs I use it in. Adding this here to make sure that other that use it are aware of this impactful change.

10.0.0

  • Total issues resolved: 0
  • Total pull requests resolved: 8
  • Total contributors: 3

Dependencies ๐Ÿ“ฆ

9.4.2

9.4.2

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

9.4.1

9.4.1

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

9.4.0

9.4.0

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

9.3.0

9.3.0

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

9.2.0

9.2.0

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 2

Dependencies ๐Ÿ“ฆ

9.1.0

9.1.0

  • Total issues resolved: 0
  • Total pull requests resolved: 3
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

8.0.5

8.0.5

  • Total issues resolved: 0
  • Total pull requests resolved: 6
  • Total contributors: 2

Dependencies ๐Ÿ“ฆ

8.0.4

8.0.4

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 2

Dependencies ๐Ÿ“ฆ

Enhancement โœจ

8.0.3

8.0.3

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

8.0.2

8.0.2

  • Total issues resolved: 0
  • Total pull requests resolved: 2
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

8.0.1

8.0.1

  • Total issues resolved: 0
  • Total pull requests resolved: 4
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ

7.2.0

:tada: Promise v3 :tada:

7.2.0

  • Total issues resolved: 0
  • Total pull requests resolved: 4
  • Total contributors: 2

Bug ๐Ÿž,Dependencies ๐Ÿ“ฆ

Dependencies ๐Ÿ“ฆ

Dependencies ๐Ÿ“ฆ,Enhancement โœจ

7.1.0

7.1.0

  • Total issues resolved: 0
  • Total pull requests resolved: 4
  • Total contributors: 2

Dependencies ๐Ÿ“ฆ

Enhancement โœจ

7.0.3

7.0.3

  • Total issues resolved: 0
  • Total pull requests resolved: 3
  • Total contributors: 2

Dependencies ๐Ÿ“ฆ

Enhancement โœจ

7.0.2

7.0.2

  • Total issues resolved: 0
  • Total pull requests resolved: 11
  • Total contributors: 3

Dependencies ๐Ÿ“ฆ,JSON ๐Ÿ‘จโ€๐Ÿ’ผ,PHP ๐Ÿ˜

CI ๐Ÿšง,Configuration โš™,YAML ๐Ÿ„

Dependencies ๐Ÿ“ฆ,PHP ๐Ÿ˜

Dependencies ๐Ÿ“ฆ,JSON ๐Ÿ‘จโ€๐Ÿ’ผ,NEON ๐Ÿฆนโ€โ™‚๏ธ,PHP ๐Ÿ˜,Source ๐Ÿ”ฎ,Tests ๐Ÿงช

Configuration โš™,YAML ๐Ÿ„

Configuration โš™,JSON ๐Ÿ‘จโ€๐Ÿ’ผ

7.0.1

7.0.1

  • Total issues resolved: 0
  • Total pull requests resolved: 1
  • Total contributors: 1

Dependencies ๐Ÿ“ฆ,JSON ๐Ÿ‘จโ€๐Ÿ’ผ,PHP ๐Ÿ˜

7.0.0

This release drops all deprecated await methods. Use the await and other related functions directly.

Major new feature in this release:

Since all tests are executed inside a fiber, there is a default timeout of 30 seconds. To lower or raise that timeout this package comes with a TimeOut attribute. It can be set on the class and method level. When set on both the method level it takes priority over the class level.

<?php

declare(strict_types=1);

namespace WyriHaximus\Tests\AsyncTestUtilities;

use ReactventLoop\Loop;
use WyriHaximus\AsyncTestUtilities\AsyncTestCase;
use WyriHaximus\AsyncTestUtilities\TimeOut;

use function React\Asyncsync;
use function React\Asyncwait;
use function React\Promise
esolve;
use function React\Promise\Timer\sleep;
use function time;

#[TimeOut(0.3)]
final class AsyncTestCaseTest extends AsyncTestCase
{
    #[TimeOut(1)]
    public function testAllTestsAreRanInAFiber(): void
    {
        self::expectOutputString('ab');

        Loop::futureTick(async(static function (): void {
            echo 'a';
        }));

        await(sleep(1));

        echo 'b';
    }

    public function testExpectCallableExactly(): void
    {
        $callable = $this->expectCallableExactly(3);

        Loop::futureTick($callable);
        Loop::futureTick($callable);
        Loop::futureTick($callable);
    }

    public function testExpectCallableOnce(): void
    {
        Loop::futureTick($this->expectCallableOnce());
    }
}

7.0.0

  • Total issues resolved: 0
  • Total pull requests resolved: 4
  • Total contributors: 1

Deprecations ๐Ÿ‘‹,NEON ๐Ÿฆนโ€โ™‚๏ธ,PHP ๐Ÿ˜,Source ๐Ÿ”ฎ

Configuration โš™,YAML ๐Ÿ„

Deprecations ๐Ÿ‘‹,NEON ๐Ÿฆนโ€โ™‚๏ธ,PHP ๐Ÿ˜,Source ๐Ÿ”ฎ,Tests ๐Ÿงช

Dependencies ๐Ÿ“ฆ,Documentation ๐Ÿ“š,Enhancement โœจ,Feature ๐Ÿ—,JSON ๐Ÿ‘จโ€๐Ÿ’ผ,MarkDown ๐Ÿ“,NEON ๐Ÿฆนโ€โ™‚๏ธ,PHP ๐Ÿ˜,Source ๐Ÿ”ฎ,Tests ๐Ÿงช

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport
twbs/bootstrap4
php-http/client-implementation
phpcr/phpcr-implementation
cucumber/gherkin-monorepo
haydenpierce/class-finder
psr/simple-cache-implementation
uri-template/tests