PHP testing frameworks solve a real problem, but they introduce friction of their own. PHPUnit requires installation, configuration files, test class conventions, and a test runner. During rapid development cycles — debugging a specific function, verifying a data transformation, or building a small feature — that setup overhead slows you down more than it helps.
For smaller PHP projects or targeted testing sessions, what you actually want is something you can include with a single line, write a few assertions against, and read results in a browser immediately. Most available options either depend on large frameworks or produce terminal output that is harder to scan than a clear HTML page.
Debbie was written to support testing in CaboLabs' PHP projects, including the website and Phersistence, the ORM library. We wanted to verify behavior quickly during development without pulling in a framework dependency or configuring a test runner every time.
The design constraint was: include one file, write assertions directly, open a browser, see a clean HTML report showing what passed, what failed, and why. No command-line runner, no config files, no class conventions. Just PHP.
Debbie is not a replacement for PHPUnit in large codebases where CI integration, code coverage, and structured test suites matter. But for smaller projects or for rapid debugging — where you want to pin down exactly what a function is doing — it reduces the friction between having a question and getting an answer.
What Debbie provides and what it intentionally does not.
Include a single PHP file and start writing tests. No config files, no test runner, no class conventions to follow. Works anywhere PHP runs.
Results are rendered as an HTML page with clear pass/fail indicators, the tested value, the expected value, and a diff when they differ. Easier to read than terminal output for most developers.
Supports assertions on scalar values, arrays, JSON structures, and HTTP responses. Covers the cases that come up most frequently in PHP application testing.
Debbie has no Composer dependencies. It is a single file. Adding it to a project does not affect your dependency tree or introduce version conflicts.
When a test fails, the report shows what was being tested, what value was produced, and what was expected — so you can understand the failure without adding debug output by hand.
Let us know how we can help you.