soundasleep / component-tests
Common Composer and PHP component lint and validation tests
Installs: 9 402
Dependents: 32
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 2
Open Issues: 0
pkg:composer/soundasleep/component-tests
Requires
- justinrainbow/json-schema: ~5.2
- phpunit/phpunit: >=7.0
README
Common Composer and PHP component lint and validation tests.
Tests
- Check that all
.jsonfiles are valid JSON (usingjson_decode) - Check that all
.phpfiles are valid PHP (usingphp -l) - Check that all
composer.jsonfiles 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.