Search by

switon / testing

switon

Shared test container, TestCase base, and package-local test runner for Switon Framework

v1.0.0 2026-06-06 13:43 UTC

This package is auto-updated.

Last update: 2026-09-07 02:24:20 UTC


README

CI PHP 8.3+

Switon's test bootstrap and fixtures for package-level tests.

Highlights

  • Ready test base: package tests start with a Switon container already wired.
  • Common defaults: core services and test doubles are prebound.
  • Reusable test doubles: logger, events, console, clock, cache, random, and translator are prebound.
  • Listener support: MockListenerProvider keeps event wiring lightweight in tests.
  • Package-aware checks: ComposerExtra and PackagePathAssert support monorepo discovery and path checks.

Installation

composer require --dev switon/testing

Quick Start

use Switon\Testing\TestCase;

final class UserServiceTest extends TestCase
{
    public function testRegisterCreatesUser(): void
    {
        $service = $this->make(UserService::class);

        $user = $service->register('test@example.com');

        self::assertSame('test@example.com', $user->email);
    }
}

Docs: https://docs.switon.dev/latest/testing

License

MIT.