PHPackages                             quillphp/testing - 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. quillphp/testing

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

quillphp/testing
================

Professional testing utilities for the Quill PHP framework

0.0.1(yesterday)010↑500%MITPHPPHP ^8.3

Since Apr 6Pushed yesterdayCompare

[ Source](https://github.com/quillphp/quill-testing)[ Packagist](https://packagist.org/packages/quillphp/testing)[ Docs](https://quillphp.com)[ RSS](/packages/quillphp-testing/feed)WikiDiscussions main Synced today

READMEChangelog (1)Dependencies (2)Versions (2)Used By (0)

Quill Testing Utilities
=======================

[](#quill-testing-utilities)

Fluent testing utilities for the [Quill PHP Framework](https://quillphp.com), making it easy to test your handlers and middleware without full HTTP round-trips.

This package provides a `TestClient` that wraps the internal `App::handle()` lifecycle, allowing you to simulate requests and assert on the results with a clean, expressive API.

Installation
------------

[](#installation)

```
composer require quillphp/testing
```

Usage
-----

[](#usage)

### Getting Started

[](#getting-started)

To test your application, create a `TestClient` instance passing your `App` kernel:

```
use Quill\Testing\TestClient;

class UserTest extends \PHPUnit\Framework\TestCase {
    public function test_it_returns_user_data() {
        $app = new \Quill\App();
        // ... set up routes ...

        $client = new TestClient($app);

        $client->get('/users/1')
            ->assertStatus(200)
            ->assertJson(['id' => 1, 'name' => 'John']);
    }
}
```

### TestClient Methods

[](#testclient-methods)

The `TestClient` supports all standard HTTP methods:

- `$client->get(string $uri, array $headers = [])`
- `$client->post(string $uri, array $data = [], array $headers = [])`
- `$client->put(string $uri, array $data = [], array $headers = [])`
- `$client->patch(string $uri, array $data = [], array $headers = [])`
- `$client->delete(string $uri, array $data = [], array $headers = [])`

### TestResponse Assertions

[](#testresponse-assertions)

The response returned by the client allows for fluent assertions:

MethodDescription`assertStatus(int $code)`Asserts the HTTP status code.`assertJson(array $subset)`Asserts that the response body contains the given JSON subset.`assertHeader(string $name, string $value)`Asserts a specific header value.`assertSee(string $string)`Asserts that the response body contains the given string.License
-------

[](#license)

This package is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).

###  Health Score

39

—

LowBetter than 85% of packages

Maintenance100

Actively maintained with recent releases

Popularity7

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity38

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

Unknown

Total

1

Last Release

1d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4742b2ad737c14793d6b0a418e6da90b446153a4d7ba120a1f3c07e2a2951d28?d=identicon)[quillphp](/maintainers/quillphp)

---

Top Contributors

[![fr3on](https://avatars.githubusercontent.com/u/26393383?v=4)](https://github.com/fr3on "fr3on (1 commits)")

---

Tags

phptestingquilltest-clienttest-response

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/quillphp-testing/health.svg)

```
[![Health](https://phpackages.com/badges/quillphp-testing/health.svg)](https://phpackages.com/packages/quillphp-testing)
```

###  Alternatives

[php-vfs/php-vfs

Virtual file system implementation for use with PHP unit testing.

572.7M24](/packages/php-vfs-php-vfs)[zoon/puphpeteer

A Puppeteer bridge for PHP, supporting the entire API.

204192.9k1](/packages/zoon-puphpeteer)[marvinrabe/laravel-graphql-test

Provides you with a simple GraphQL testing trait.

58329.7k](/packages/marvinrabe-laravel-graphql-test)[quizlet/hammock

Hammock is a stand-alone mocking library for Hacklang.

27445.5k](/packages/quizlet-hammock)[doppiogancio/mocked-client

A simple way to mock a client

2174.9k3](/packages/doppiogancio-mocked-client)[robiningelbrecht/phpunit-coverage-tools

PHPUnit coverage tools

1783.0k33](/packages/robiningelbrecht-phpunit-coverage-tools)

PHPackages © 2026

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