PHPackages                             memran/php-testify - 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. memran/php-testify

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

memran/php-testify
==================

Expressive PHP testing on top of PHPUnit with expect() assertions, describe()/it() specs, and watch mode.

v1.2.0(1mo ago)0231MITPHPPHP ^8.2CI passing

Since Oct 25Pushed 1mo agoCompare

[ Source](https://github.com/memran/php-testify)[ Packagist](https://packagist.org/packages/memran/php-testify)[ RSS](/packages/memran-php-testify/feed)WikiDiscussions main Synced today

READMEChangelogDependencies (7)Versions (4)Used By (1)

PHP-Testify
===========

[](#php-testify)

[![CI](https://camo.githubusercontent.com/15cf2012c6fb1d75717923367924d056abd3f2f349bf646f8a097b2a0f6fca81/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f616374696f6e732f776f726b666c6f772f7374617475732f6d656d72616e2f7068702d746573746966792f63692e796d6c3f6272616e63683d6d61696e266c6162656c3d4349)](https://github.com/memran/php-testify/actions/workflows/ci.yml)[![Packagist Version](https://camo.githubusercontent.com/e1e4d34d7b6ab6a1235fcf9a2b58046b75c7a50e9133df64d35a2bed775e9f16/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d656d72616e2f7068702d74657374696679)](https://packagist.org/packages/memran/php-testify)[![Downloads](https://camo.githubusercontent.com/d79cd5d17e5a8839b9ed5516ec0ac2eb6c710f0414cdb2eff753d654142b3455/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d656d72616e2f7068702d74657374696679)](https://packagist.org/packages/memran/php-testify)[![PHP](https://camo.githubusercontent.com/c2588b5670f2c910b8cc849ace22a22efda8956b7c2f797d11d2096bbfc7b1f5/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e322532422d3737374242342e737667)](https://www.php.net/)[![License](https://camo.githubusercontent.com/5ac3e1a7bb8642cdcf3c37abbb6acf599ff24c8b89d54cb25ff89281344cc4e6/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f6d656d72616e2f7068702d74657374696679)](LICENSE)

PHP-Testify brings an expressive `expect()` API, `describe()` / `it()` specs, a readable CLI runner, and watch mode to standard PHPUnit-based projects. It stays small, framework-agnostic, and compatible with plain Composer workflows.

Features
--------

[](#features)

- Fluent assertions such as `toBe()`, `toEqual()`, `toContain()`, `toThrow()`, and negation with `not()`
- Parameterized specs with `->with([...])`
- Fluent skip/incomplete controls with `->skip()`, `incomplete()`, and `todo()`
- Fluent groups/tags with `->group()` / `group()` plus CLI filtering
- Two test styles in the same project: PHPUnit classes and Jest/Vitest-like specs
- Built-in lifecycle hooks with nested-suite inheritance: `beforeAll`, `afterAll`, `beforeEach`, `afterEach`
- Filtered runs, grouped runs, verbose output, and watch mode from the `bin/testify` CLI
- Static analysis, formatting, and CI setup ready for package contributors

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

[](#requirements)

- PHP 8.2 or newer
- Composer

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

[](#installation)

```
composer require --dev memran/php-testify
```

Create a `phpunit.config.php` file in your project root:

```
