PHPUnit

The de facto standard, programmer-oriented unit testing framework for PHP.

Framework
Composer
v13.4.3
20,072 stars
BSD 3-Clause License

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
92 /100 Excellent
Development Activity 100
Maintenance 84
Community 84
Maturity 60
Momentum 40

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
88 /100 Excellent
Architecture 92
Code Quality 96
Innovation 82
Learning Curve 80

PHPUnit is the most widely used testing framework in the PHP ecosystem, an instance of the xUnit architecture that gives developers a structured way to write, organize, and run automated tests. It provides a TestCase base class, a comprehensive assertion API, test doubles (mocks and stubs), data providers, and fixtures, plus a full-featured command-line runner for executing suites and reporting results.

Beyond running tests, PHPUnit integrates code-coverage analysis, rich event and logging subsystems, and configuration via XML, making it the backbone of continuous-integration pipelines for millions of PHP projects.

What You Get

  • A TestCase base class with a large, expressive assertion API
  • Built-in test doubles: mocks, stubs, and spies
  • Data providers and fixtures for parameterized and shared-setup tests
  • A powerful CLI runner with filtering, grouping, and parallel-friendly output
  • Integrated code-coverage reporting and multiple logging/result formats

Common Use Cases

  • Writing and running unit tests for PHP classes and functions
  • Enforcing test coverage thresholds in CI pipelines
  • Mocking collaborators to test units in isolation
  • Driving test-driven development for PHP applications and libraries

Under The Hood

Architecture - PHPUnit is organized into clear subsystems under src/: Framework holds TestCase, assertions, and constraints; Runner and TextUI implement test discovery, configuration, and the CLI entry point (bin/phpunit); Event provides a typed event bus that decouples the runner from logging and reporting; Metadata parses attributes and annotations; and Logging emits JUnit/TestDox and other report formats. Tests are collected into suites and executed through the runner, which dispatches lifecycle events consumed by subscribers.

Tech Stack - Pure PHP requiring PHP >= 8.4.1 and a set of extensions (dom, libxml, mbstring, xmlwriter). It composes many focused sebastian/* and phpunit/* packages (php-code-coverage, comparator, diff, exporter, global-state), reflecting a strongly modular design where each concern is its own library.

Code Quality - The project is exceptionally mature and rigorously tested against its own suite, with codecov-tracked coverage, strict typing, and a large contributor base. Its long history (an instance of xUnit dating back over two decades) and disciplined release cadence make it a reference example of PHP engineering quality.

API Design - The public API is highly ergonomic and consistent: assertions read naturally (assertSame, assertInstanceOf), test doubles are created through a fluent builder, and attributes now express metadata cleanly. Extensive official documentation and near-universal community familiarity make the learning curve gentle for basic use, though advanced features like custom constraints and the event system reward deeper study.

Used by 34 apps in this directory

PHP
65%
AGPL 3.0

LinkStack

Marketing

3,914

Self-hosted, privacy-focused Linktree alternative with themes, analytics, and a drag-and-drop admin panel.

View details
74
Repo Health
56
Technical
68
Dependency
Built with
PHP 65%
Blade 35%
Updated 1 weeks ago
TypeScript
44%
Other

Magic

AI Agents · Automation · Low Code Platforms

5,055

Magic is an enterprise-grade open-source AI agent platform combining a generalist AI agent, workflow engine, IM, and collaborative office system for running an AI-powered digital workforce.

View details
68
Repo Health
79
Technical
65
Dependency
Built with
TypeScript 44%
PHP 32%
Updated 2 months ago
PHP
78%
GPL 3.0

matomo

Analytics

21,976

Open-source, privacy-first web and app analytics that puts you in complete control of your data.

View details
95
Repo Health
82
Technical
62
Dependency
Built with
PHP 78%
Updated 6 days ago
PHP
81%
Other

Mautic

Automation · Ecommerce · Marketing

10,830

The world's largest open source marketing automation platform — own your data, run multi-channel campaigns, and escape vendor lock-in forever.

View details
98
Repo Health
76
Technical
63
Dependency
Built with
PHP 81%
Updated 6 days ago
Vue
49%
MIT

Mixpost

Marketing · Social Media

3,854

Self-host your own social media scheduler and publish to 11 platforms without subscriptions or data lock-in.

View details
50
Repo Health
64
Technical
71
Dependency
Built with
Vue 49%
PHP 44%
Updated 7 months ago
Go
52%
Apache 2.0

opencloud

File Storage

6,218

Open source file management and collaboration platform that keeps your data under your control, no database required.

View details
86
Repo Health
80
Technical
68
Dependency
Built with
Go 52%
Gherkin 33%
PHP 11%
Updated 6 days ago
PHP
100%
AGPL 3.0

Passbolt API

Password Manager · Security

6,185

Self-hosted, end-to-end encrypted password manager API built for teams who demand full ownership of their credentials.

View details
91
Repo Health
80
Technical
69
Dependency
Built with
PHP 100%
Updated 1 weeks ago
PHP
76%
MIT

SendPortal

Marketing

2,180

Self-hosted email marketing with full data control, multi-workspace isolation, and seamless integration with Amazon SES, SendGrid, Mailgun, and more

View details
65
Repo Health
59
Technical
71
Dependency
Built with
PHP 76%
Blade 24%
Updated 1 weeks ago
PHP
58%
AGPL 3.0

Nextcloud Server

Collaboration · File Storage

37,265

Your own private cloud: self-hosted file sync, collaboration, and communication with no vendor lock-in.

View details
95
Repo Health
77
Technical
81
Dependency
Built with
PHP 58%
JavaScript 32%
Updated 5 days ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers