edsonmedina / php_testability
此包已被废弃,不再维护。未建议替代包。
分析php代码库的可测试性问题
dev-master
2019-09-12 00:44 UTC
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
分析和生成php代码库的可测试性问题报告。
安装
PHP_Testability至少需要PHP 7.0才能运行。
Composer
如果使用Composer管理项目依赖,请在项目的composer.json
文件中将edsonmedina/php_testability
添加为依赖。
{ "require-dev": { "edsonmedina/php_testability": "dev-master" } }
然后运行composer update
。
或者,也可以直接运行
composer require edsonmedina/php_testability "dev-master"
用法
分析当前目录并生成HTML报告到report/
vendor/bin/testability . -o report
排除某些目录
vendor/bin/testability . -x vendor,tmp,upload,config -o report
检查所有可用选项。
vendor/bin/testability --help
结果
在浏览器中打开report/index.html。你应该会看到以下内容
如果你点击有问题的文件,它会显示代码浏览器并突出显示有问题的一行。
这些问题阻碍了可测试性,例如
- 全局变量、超级全局变量等的引用
- 无法模拟的函数的调用(如静态方法或全局函数)
- 对象的
new
实例(紧耦合 - 不能模拟/注入) - ...等等
感谢nikic的PHP-Parser(nikic),PHP_Testability在很大程度上依赖于它。