jasny / php-code-quality
此包已被废弃,不再维护。未建议替代包。
质量保证工具链
v3.0.0
2024-07-23 11:12 UTC
Requires
- jasny/phpunit-extension: ^0.4.0
- mikey179/vfsstream: ^1.6
- phpstan/phpstan: >= 0.11.0, < 2.0.0
- phpstan/phpstan-strict-rules: >= 0.11.0, < 2.0.0
- phpunit/phpunit: >= 8.0, < 12.0
- squizlabs/php_codesniffer: ^3.10
Suggests
- codeception/codeception: BDD testing framework for testing applications
- jasny/codeception-module: Codeception integration for Jasny MVC
README
编码规范
遵循 PSR-12 编码规范。
安装
Jasny 的所有 PHP 项目都应包含此包。它可以通过 composer 安装。
composer require --dev jasny/php-code-quality
工具链
PHPUnit
PHPUnit 是一个针对 PHP 的程序员测试框架。单元测试应在 tests
目录中。
将 PHPUnit 配置复制到项目根目录
cp vendor/jasny/php-code-quality/phpunit.xml.dist .
vfsStream
vfsStream 是一个虚拟文件系统的流包装器,可能有助于在单元测试中模拟真实文件系统。
PHP CodeSniffer
phpcs 将 PHP 文件进行标记并检测违反定义的编码标准。它是一个确保代码保持整洁和一致性的必要开发工具。
此包包含一个自定义规则集,体现了 Jasny PHP 编码标准,应复制到项目根目录。
cp vendor/jasny/php-code-quality/phpcs.xml.dist phpcs.xml
PHPStan
PHPStan 是一个静态代码分析工具。它在运行实际代码行之前,可以将 PHP 接近编译语言,即可以检查每行代码的正确性。
将 PHPStan 配置复制到项目根目录
cp vendor/jasny/php-code-quality/phpstan.neon.dist phpstan.neon
Composer 脚本
Composer 可以配置为运行所有测试
"scripts": {
"test": [
"phpunit",
"phpstan analyse",
"phpcs -p src"
]
},
"scripts-descriptions": {
"test": "Run all tests and quality checks"
}
要运行所有测试,请执行
composer run-script test
服务
开源项目应使用所有这些质量保证服务。闭源项目可以使用单个服务同时运行测试和代码质量检查,以节省成本。
GitHub actions
GitHub actions 将在每个 pull-request 和 master 分支的推送中运行所有单元测试。
将 php-code-quality 目录中的 github
文件夹复制过来。
cp -r vendor/jasny/php-code-quality/github .github
Scrutinizer
Scrutinizer 使用 PHP CodeSniffer、PHPStan 和 Scrutinizer 的自定义分析工具测试代码质量。它还收集测试覆盖率结果。