edsonmedina / php_testability
Analyses and reports testability issues of a php codebase
Installs: 131 607
Dependents: 0
Suggesters: 0
Security: 0
Stars: 137
Watchers: 11
Forks: 7
Open Issues: 37
Requires
- php: >=5.4
- mustache/mustache: *
- nategood/commando: *
- nikic/php-parser: *
Requires (Dev)
This package is not auto-updated.
Last update: 2022-02-01 12:40:11 UTC
README
PHP_Testability
Analyses and produces a report with testability issues of a php codebase.
Installation
PHP_Testability requires at least PHP 7.0 to run.
Composer
Add edsonmedina/php_testability
as a dependency to your project's composer.json
file if you use Composer to manage the dependencies of your project.
{ "require-dev": { "edsonmedina/php_testability": "dev-master" } }
And run composer update
.
Or alternatively, just run:
composer require edsonmedina/php_testability "dev-master"
Usage
Analyse the current directory and generate an HTML report into report/
vendor/bin/testability . -o report
Exclude some directories
vendor/bin/testability . -x vendor,tmp,upload,config -o report
Check all the available options.
vendor/bin/testability --help
Results
Open report/index.html on your browser. You shoule see something like this:
If you click on a file with issues, it'll show you a code browser and will highlight the lines with issues.
These are issues that hinder testability, such as:
- references to global variables, super globals, etc
- calls to functions that can't be mocked (like static methods or global functions)
new
instances of objects (tight coupling - can't be mocked/injected)- ...and much more
Kudos to the brilliant PHP-Parser (by nikic) on which PHP_Testability relies heavily.