switon/testing

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

Maintainers

Package info

github.com/switon-php/testing

Documentation

pkg:composer/switon/testing

Statistics

Installs: 67

Dependents: 46

Suggesters: 0

Stars: 0

Open Issues: 0

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

This package is auto-updated.

Last update: 2026-06-07 01:51:01 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.