Ubuntu 下使用 Composer 进行测试的实用技巧
一 环境准备与快速自检
- 安装基础依赖与 Composer:sudo apt update && sudo apt install -y curl php-cli php-mbstring php-curl git unzip;随后用官方安装器安装到系统路径:curl -sS https://getcomposer.org/installer -o composer-setup.php,校验 SHA-384 后将安装器放到 /usr/local/bin/composer。完成后执行 composer -v 应能看到版本号。为后续测试,建议同时安装 PHPUnit(见下一节)。以上步骤在 Ubuntu 18.04/22.04 均适用。
二 使用 PHPUnit 进行单元测试
- 安装与 PATH:推荐在项目内本地安装以便版本可控,或全局安装后把 $HOME/.composer/vendor/bin 加入 PATH。示例:composer require --dev phpunit/phpunit(项目内),或 composer global require phpunit/phpunit(全局)。
- 最小示例与运行:
- 目录结构:src/Calculator.php、tests/CalculatorTest.php
- src/Calculator.php
- tests/CalculatorTest.phpassertEquals(5, (new Calculator())->add(2, 3)); }
}
- 运行:在项目根目录执行 ./vendor/bin/phpunit 或配置 composer.json 的 scripts 后运行 composer test。
- 常用命令与技巧:
- 只运行单个测试:./vendor/bin/phpunit tests/CalculatorTest.php
- 生成覆盖报告:composer require --dev phpunit/php-code-coverage,执行 ./vendor/bin/phpunit --coverage-html=coverage
- 使用内存与进程优化:./vendor/bin/phpunit --process-isolation --cache-result
- 结合 CI:在 GitHub Actions/GitLab CI 中缓存 vendor 与 composer 目录,显著缩短测试耗时。
三 使用 PhpStorm 运行与断点调试
- 配置 CLI 解释器:File → Settings → PHP,新增本机 php 可执行文件,确认 Xdebug 已启用(断点调试需要)。
- 配置 PHPUnit:File → Settings → Test Frameworks → + PHPUnit,选择“使用 composer autoloader”,指向项目 vendor/autoload.php;同步后可直接在 IDE 中运行测试与断点调试,适合 Laravel 与 Composer Library 项目。
四 测试专用 Composer 配置与脚本
- 区分开发与生产依赖:将测试工具放入 require-dev(如 phpunit/phpunit、phpunit/php-code-coverage),生产环境执行 composer install --no-dev,避免把测试依赖部署到线上。
- 常用 scripts 示例(写入 composer.json):
{
“scripts”: {
“test”: “phpunit”,
“test-coverage”: “phpunit --coverage-html=coverage”,
“check-platform-reqs”: “composer check-platform-reqs”
}
}
- 平台与依赖校验:上线前执行 composer check-platform-reqs,提前发现 PHP 扩展/版本 不满足的问题;配合 composer install --dry-run 预演变更,降低风险。