PHPackages                             shlinkio/shlink-test-utils - 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. shlinkio/shlink-test-utils

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

shlinkio/shlink-test-utils
==========================

Testing utils for Shlink

v4.5.0(3mo ago)153.8k↓35%11MITPHPPHP ^8.4CI passing

Since Aug 11Pushed 3mo ago1 watchersCompare

[ Source](https://github.com/shlinkio/shlink-test-utils)[ Packagist](https://packagist.org/packages/shlinkio/shlink-test-utils)[ Docs](https://shlink.io)[ RSS](/packages/shlinkio-shlink-test-utils/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (15)Versions (39)Used By (1)

Shlink test utils
=================

[](#shlink-test-utils)

Helpers and utilities to run different types of tests in Shlink.

[![Build Status](https://camo.githubusercontent.com/c51c03a93bdb50977afc2f7271b79f9876133ced4d7d64d9cd52687668753f7a/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f73686c696e6b696f2f73686c696e6b2d746573742d7574696c732f63692e796d6c3f6272616e63683d6d61696e266c6f676f3d676974687562267374796c653d666c61742d737175617265)](https://github.com/shlinkio/shlink-test-utils/actions/workflows/ci.yml?query=workflow%3A%22Continuous+integration%22)[![Latest Stable Version](https://camo.githubusercontent.com/5df0dfbee3ebd1352b0bdc2b16dae26055847238434d979e632e6d14521f6694/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f73686c696e6b696f2f73686c696e6b2d746573742d7574696c732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/shlinkio/shlink-test-utils)[![License](https://camo.githubusercontent.com/ff6951461bd5120256c73c1f123c03c9ba51e5d1f0bcdf51f46c7e3b90d1ebb9/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f73686c696e6b696f2f73686c696e6b2d746573742d7574696c732e7376673f7374796c653d666c61742d737175617265)](https://github.com/shlinkio/shlink-test-utils/blob/main/LICENSE)[![Paypal donate](https://camo.githubusercontent.com/f7bd7ab1d7bea7a4ac78f5189c56ce2dbf8cc73608863e0dd9408e10ddca4673/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f446f6e6174652d70617970616c2d626c75652e7376673f7374796c653d666c61742d737175617265266c6f676f3d70617970616c26636f6c6f72413d616161616161)](https://slnk.to/donate)

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

[](#installation)

Install this tool using [composer](https://getcomposer.org/).

```
composer require shlinkio/shlink-test-utils --dev

```

Base test classes
-----------------

[](#base-test-classes)

- `ApiTestCase` for API e2e tests.
- `DbTestCase` for database integration tests.

Both classes extends \[phpunit\]'s `TestCase` class.

TestHelper
----------

[](#testhelper)

A `TestHelper` class is provided too. It has methods to initialize a testing database and to seed the database fixtures.

###  Health Score

58

—

FairBetter than 98% of packages

Maintenance81

Actively maintained with recent releases

Popularity31

Limited adoption so far

Community12

Small or concentrated contributor base

Maturity88

Battle-tested with a long release history

 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

Every ~64 days

Recently: every ~114 days

Total

38

Last Release

99d ago

Major Versions

v1.7.0 → v2.0.02021-01-13

v2.5.0 → v3.0.02022-01-21

v3.11.1 → v4.0.02024-02-20

PHP version history (8 changes)v1.0.0PHP ^7.2

v1.3.0PHP ^7.4

v1.6.0PHP ^7.4 || ^8.0

v2.2.0PHP ^8.0

v3.1.0PHP ^8.1

v3.8.0PHP ^8.2

v4.3.0PHP ^8.3

v4.4.0PHP ^8.4

### Community

Maintainers

![](https://www.gravatar.com/avatar/73480af83259e096d154a8c4333e550c186b28ccb7a0d11f537b9aa57ad35392?d=identicon)[acelaya](/maintainers/acelaya)

---

Top Contributors

[![acelaya](https://avatars.githubusercontent.com/u/2719332?v=4)](https://github.com/acelaya "acelaya (131 commits)")

---

Tags

hacktoberfest

###  Code Quality

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/shlinkio-shlink-test-utils/health.svg)

```
[![Health](https://phpackages.com/badges/shlinkio-shlink-test-utils/health.svg)](https://phpackages.com/packages/shlinkio-shlink-test-utils)
```

###  Alternatives

[brianium/paratest

Parallel testing for PHP

2.5k118.8M754](/packages/brianium-paratest)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[behat/behat

Scenario-oriented BDD framework for PHP

4.0k96.8M2.0k](/packages/behat-behat)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[drupal/core-recommended

Locked core dependencies; require this project INSTEAD OF drupal/core.

6939.5M343](/packages/drupal-core-recommended)

PHPackages © 2026

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