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

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

spiral/testing
==============

Spiral Framework testing SDK

2.12.2(3mo ago)71.6M↓35.2%7[4 PRs](https://github.com/spiral/testing/pulls)20MITPHPPHP &gt;=8.1CI passing

Since Feb 8Pushed 1mo ago3 watchersCompare

[ Source](https://github.com/spiral/testing)[ Packagist](https://packagist.org/packages/spiral/testing)[ Docs](https://spiral.dev/)[ GitHub Sponsors](https://github.com/sponsors/spiral)[ RSS](/packages/spiral-testing/feed)WikiDiscussions 2.x Synced 1mo ago

READMEChangelog (10)Dependencies (27)Versions (39)Used By (20)

Spiral Framework testing SDK
============================

[](#spiral-framework-testing-sdk)

[![Latest Version on Packagist](https://camo.githubusercontent.com/94043986772f9a51b7da66596d984ff5fc66768bd0274ff544c6e7f71d703539/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f73706972616c2f74657374696e672e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/spiral/testing)[![Total Downloads](https://camo.githubusercontent.com/12126dc840dd6668ccbbf0862120f30e15db05741a13c03dabe0bc184200bf12/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f73706972616c2f74657374696e672e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/spiral/testing)

Requirements
------------

[](#requirements)

Make sure that your server is configured with following PHP version and extensions:

- PHP 8.1+
- Spiral framework 3.15+

Documentation on how to install and use the package can be found on the official documentation page - [Testing — Getting Started](https://spiral.dev/docs/testing-start)

Spiral package testing
----------------------

[](#spiral-package-testing)

There are some difference between App and package testing. One of them - tou don't have application and bootloaders.

TestCase from the package has custom TestApp implementation that will help you to test your packages without creating extra classes.

The following example will show you how it is easy-peasy.

#### Tests folder structure:

[](#tests-folder-structure)

```
tests
  - app
    - config
      - my-config.php
    - ...
  - src
    - TestCase.php
    - MyFirstTestCase.php

```

### TestCase configuration

[](#testcase-configuration)

```
namespace MyPackage\Tests;

abstract class TestCase extends \Spiral\Testing\TestCase
{
    public function rootDirectory(): string
    {
        return __DIR__.'/../';
    }

    public function defineBootloaders(): array
    {
        return [
            \MyPackage\Bootloaders\PackageBootloader::class,
            // ...
        ];
    }
}
```

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE) for more information.

###  Health Score

62

—

FairBetter than 99% of packages

Maintenance85

Actively maintained with recent releases

Popularity49

Moderate usage in the ecosystem

Community36

Small or concentrated contributor base

Maturity70

Established project with proven stability

 Bus Factor1

Top contributor holds 58.2% 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

Every ~42 days

Recently: every ~13 days

Total

35

Last Release

103d ago

Major Versions

1.2.1 → 2.0-beta2022-06-24

1.3.0 → 2.0.02022-07-23

1.x-dev → 2.3.02023-04-21

2.x-dev → 3.x-dev2026-02-04

PHP version history (2 changes)1.0.0PHP &gt;=7.4

2.0-betaPHP &gt;=8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/796136?v=4)[Anton Tsitou](/maintainers/wolfy-j)[@wolfy-j](https://github.com/wolfy-j)

![](https://avatars.githubusercontent.com/u/773481?v=4)[Pavel Buchnev](/maintainers/butschster)[@butschster](https://github.com/butschster)

![](https://www.gravatar.com/avatar/110fa17dca123e71e4ef4132d1d6a66d20058a07fc6118e716dd67dd4316e886?d=identicon)[roxblnfk](/maintainers/roxblnfk)

---

Top Contributors

[![butschster](https://avatars.githubusercontent.com/u/773481?v=4)](https://github.com/butschster "butschster (107 commits)")[![roxblnfk](https://avatars.githubusercontent.com/u/4152481?v=4)](https://github.com/roxblnfk "roxblnfk (26 commits)")[![msmakouz](https://avatars.githubusercontent.com/u/67324318?v=4)](https://github.com/msmakouz "msmakouz (21 commits)")[![gam6itko](https://avatars.githubusercontent.com/u/3841197?v=4)](https://github.com/gam6itko "gam6itko (20 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (5 commits)")[![chiost](https://avatars.githubusercontent.com/u/20780447?v=4)](https://github.com/chiost "chiost (2 commits)")[![aquaminer](https://avatars.githubusercontent.com/u/17113289?v=4)](https://github.com/aquaminer "aquaminer (1 commits)")[![meekstellar](https://avatars.githubusercontent.com/u/44509066?v=4)](https://github.com/meekstellar "meekstellar (1 commits)")[![Copilot](https://avatars.githubusercontent.com/in/1143301?v=4)](https://github.com/Copilot "Copilot (1 commits)")

---

Tags

phpphp7spiral-frameworktestingtesting-toolstestingspiralspiral-packages

###  Code Quality

Static AnalysisPsalm

Type Coverage Yes

### Embed Badge

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

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

###  Alternatives

[orchestra/testbench

Laravel Testing Helper for Packages Development

2.2k39.1M32.1k](/packages/orchestra-testbench)[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[timacdonald/log-fake

A drop in fake logger for testing with the Laravel framework.

4235.9M56](/packages/timacdonald-log-fake)[magento/magento2-functional-testing-framework

Magento2 Functional Testing Framework

15511.5M30](/packages/magento-magento2-functional-testing-framework)[typo3/testing-framework

The TYPO3 testing framework provides base classes for unit, functional and acceptance testing.

675.0M775](/packages/typo3-testing-framework)[robiningelbrecht/phpunit-pretty-print

Prettify PHPUnit output

76460.0k15](/packages/robiningelbrecht-phpunit-pretty-print)

PHPackages © 2026

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