codetetic/pest-plugin-symfony

Pest Symfony Plugin

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

pkg:composer/codetetic/pest-plugin-symfony

0.0.1 2025-11-30 15:34 UTC

This package is auto-updated.

Last update: 2025-11-30 15:38:38 UTC


README

This project is a Pest Symfony Plugin that enhances testing capabilities for Symfony applications using Pest.

Prerequisites

  • PHP 8.2 or higher
  • PestPHP 2.36 or higher
  • Symfony 6.4 or higher
  • Composer

Installation

Install the package via Composer:

composer require --dev codetetic/pest-plugin-symfony

Usage

This plugin provides a set of functions to enhance the Pest testing framework for Symfony applications.

Setup

// Pest.php

uses(Pest\Symfony\WebTestCase::class)->in('Application');
Pest\Symfony\Web\extend(expect());

uses(Pest\Symfony\KernelTestCase::class)->in('Integration');
Pest\Symfony\Kernel\extend(expect());

Example Tests

Below are some example tests that demonstrate the features of this plugin:

Basic Application Example

<?php

use function Pest\Symfony\Web\createClient;
use function Pest\Symfony\Web\getRequest;
use function Pest\Symfony\Web\getResponse;

it('can get a 200 response from /example', function (): void {
    createClient()->request('GET', '/example');

    expect(getResponse())->toHaveIsSuccessful();
    expect(getRequest()->getMethod())->toBe('GET');
    expect(getResponse()->getContent())->toMatchSnapshot();
});

Basic Integration Example

<?php

use function Pest\Symfony\Kernel\getContainer;

it('can get and use service', function (): void {
    expect(
        getContainer()
            ->get(App\Service\ExampleService::class)
            ->string('string')
    )->toBe('string');
});

License

This project is licensed under the MIT License. See the LICENSE.md file for details.

Contributing

Contributions are welcome! Please submit a pull request or create an issue for any bugs or feature requests.

Contact

For any inquiries, please contact Peter Measham at github@codetetic.co.uk.