peridot-php/peridot
Peridot is a lightweight, extensible PHP testing framework with a descriptive BDD-style syntax. Write expressive specs using describe/it blocks, custom DSLs, and plugins, with clear reporting for readable, maintainable test suites.
Architecture fit
runner.start, test.passed, etc.) rather than being hard-wired into the runner.describe/it specs with $this-bound context, beforeEach/afterEach, and focused/pending specs. Teams coming from Ruby, JS, or Pest-style testing will find the syntax familiar; teams standardized on PHPUnit xUnit conventions will not.peridot-doubles plugin, coverage depends on Xdebug/phpdbg rather than built-in tooling). It is best evaluated as an alternative spec runner, not a drop-in test platform.Integration feasibility
require-dev dependency with a single vendor/bin/peridot entry point and standard non-zero exit codes, so wiring it into CI is trivial. Configuration is a peridot.php file plus CLI flags.RefreshDatabase-equivalent trait), so Laravel teams would be writing their own bootstrap for the application container and database lifecycle.Technical risk
--ignore-platform-reqs hacks or dependency isolation.Key questions
peridot-doubles, peridot-concurrency, peridot-scope), and are those equally abandoned?Stack fit
Migration path
require-dev, write net-new specs in Peridot for one bounded module, keep existing PHPUnit suites untouched.composer remove plus deleting one directory.Compatibility
composer audit and inspect the resolved dependency tree for outdated/abandoned packages before proceeding.peridot-doubles) is adequate; if not, the framework loses most of its value versus Pest.Sequencing
Maintenance
Support
Scaling
--parallel or Pest's parallel runner.Failure modes
--ignore-platform-reqs, producing silent divergence between local and CI environments.Ramp-up
How can I help you explore Laravel packages today?