soundasleep / component-tests
Common Composer and PHP component lint and validation tests
Installs: 8 542
Dependents: 32
Suggesters: 0
Security: 0
Stars: 0
Watchers: 4
Forks: 2
Open Issues: 0
Requires
- justinrainbow/json-schema: ~5.2
- phpunit/phpunit: >=7.0
README
Common Composer and PHP component lint and validation tests.
Tests
- Check that all
.json
files are valid JSON (usingjson_decode
) - Check that all
.php
files are valid PHP (usingphp -l
) - Check that all
composer.json
files are valid according to the Composer JSON-schema - Check that all PHP files that use
require()
etc. use__DIR__
in the path - Check that all PHP files that use
require()
etc. refer to files that actually exist
Using
First include component-tests
as a requirement in your project composer.json
,
and run composer update
to install it into your project:
{ "require": { "soundasleep/component-tests": "~0.2" } }
Now create an instance of \ComponentTests\ComponentTest
to define which paths
to search (and optionally exclude):
class MyComponentTest extends \ComponentTests\ComponentTest { function getRoots() { return array(__DIR__ . "/.."); } /** * Optional: exclude certain paths */ function getExcludes() { return array("/resources/", "/vendor/"); } }
You can now run this test through your normal phpunit
.
Tests
This component is tested itself; install the composer requirements with composer install
and run vendor/bin/phpunit
.