cline / prism
Beautiful prism testing CLI for PHP projects with Termwind-powered output
Installs: 20
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/cline/prism
Requires
- php: ^8.5.0
- ext-json: *
- nunomaduro/termwind: ^2.3.3
- symfony/console: ^7.4.1
- symfony/process: ^7.4.0
- symfony/yaml: ^7.4.1
Requires (Dev)
- cline/coding-standard: ^1.5.8
- orchestra/testbench: ^10.8
- symfony/var-dumper: ^7.4.0
README
Prism
Beautiful prism testing CLI for PHP projects with Termwind-powered output.
Requirements
Requires PHP 8.5+
Installation
composer require cline/prism
Quick Start
Create a prism.php configuration file:
<?php use Cline\Prism\Contracts\PrismTestInterface; use Cline\Prism\Contracts\ValidationResult; return [ new class implements PrismTestInterface { public function getName(): string { return 'My Prism Test'; } public function getValidatorClass(): string { return MyValidator::class; } public function getTestDirectory(): string { return __DIR__.'/tests/prism'; } public function validate(mixed $data, mixed $schema): ValidationResult { $validator = new MyValidator(); return $validator->validate($data, $schema); } public function getTestFilePatterns(): array { return ['*.json']; } public function decodeJson(string $json): mixed { return json_decode($json, true, 512, JSON_THROW_ON_ERROR); } }, ];
Run your prism tests:
vendor/bin/prism test
Documentation
- Getting Started - Installation and basic usage
- Configuration - Configure test suites
- Filtering - Filter tests by name, path, tags
- Performance - Parallel execution and profiling
- Advanced Features - Snapshots, fuzzing, validator comparison
- Output Formats - JSON and JUnit XML output
- Custom Assertions - Pluggable assertion logic
Change log
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please use the GitHub security reporting form rather than the issue queue.
Credits
License
The MIT License. Please see License File for more information.