# Unit Tests ## Setup ```bash # Install dependencies composer install # Run all tests ./vendor/bin/phpunit # Run specific test file ./vendor/bin/phpunit tests/test-model-registry.php # Run with testdox output ./vendor/bin/phpunit --testdox # Generate coverage report ./vendor/bin/phpunit --testdox --coverage-html coverage ``` ## Test Structure | File | Class Under Test | Coverage | |------|-----------------|----------| | `test-model-registry.php` | `WPAW_Model_Registry` | Model defaults, validation, display names | ## Adding Tests 1. Create a new file in `tests/` with the naming convention `test-{class-name}.php` 2. Class name should be `Test_{ClassName}` extending `PHPUnit\Framework\TestCase` 3. Add the class require to `tests/bootstrap.php` if the class is not autoloaded 4. Run tests to verify ## Running Without Composer If PHPUnit is installed globally: ```bash phpunit --bootstrap tests/bootstrap.php tests/ ```