在 Debian 上用 PhpStorm 搭建自动化测试环境
一 环境准备与安装
- 安装 PHP 与调试扩展:sudo apt update && sudo apt install -y php php-xdebug
- 安装 Composer(全局):sudo apt install -y composer
- 安装 PHPUnit(推荐项目内依赖):在项目根目录执行 composer require --dev phpunit/phpunit,或在全局安装后确保将 $HOME/.composer/vendor/bin 加入 PATH
- 安装 PhpStorm:可从官网下载 .tar.gz 解压到 /opt 后运行 /opt/PhpStorm/bin/phpstorm.sh;或使用 Snap:sudo snap install phpstorm --classic
二 在 PhpStorm 中配置 PHPUnit
- 设置 PHP 解释器:File → Settings → Languages & Frameworks → PHP,选择 CLI 解释器(如 /usr/bin/php)
- 指定 PHPUnit:
- 项目内安装:Settings → PHP → Test Frameworks,选择 PHPUnit by Composer,指向项目 vendor/phpunit/phpunit/phpunit
- 全局安装:选择 PHPUnit by Remote Interpreter,或使用绝对路径指向全局可执行文件
- 创建测试目录与示例测试:建议创建 tests/,并遵循命名约定 YourClassTest.php;示例:
- 创建运行配置:Run → Edit Configurations → 新建 PHPUnit,常用设置:
- Test kind:All in directory,Directory 选 tests
- 或 Test kind:Class/Method,指定测试类或方法
- 运行与查看结果:工具栏绿色运行按钮或右键测试 → Run,结果在 Run 工具窗口;可点击失败项定位到代码行
三 覆盖率与持续集成
- 覆盖率:Run → Edit Configurations → 勾选 Coverage,运行后在 Run 窗口或项目视图查看覆盖率报告,支持按目录/文件查看未覆盖代码
- 与版本控制协作:将 tests/ 与 phpunit.xml 纳入 Git,便于团队协作与持续集成;在 CI 中以 vendor/bin/phpunit 执行测试并收集结果
四 远程开发与自动化测试
- 远程解释器:Settings → PHP → Add → Remote Interpreter,通过 SSH 连接测试服务器;在 Run/Debug Configurations 中使用该解释器运行 PHPUnit
- 部署与同步:Settings → Build, Execution, Deployment → Deployment,配置 SFTP 将本地代码自动同步到远程,保证测试环境与代码一致
五 调试与常见问题
- 调试单个测试:在测试方法或类上设置断点,使用 Debug 运行;结合 Xdebug 可单步执行、查看变量与调用栈
- Xdebug 配置要点(CLI 与 Web 一致):编辑 /etc/php/*/cli/php.ini 或相应 php.ini
- [Xdebug]
zend_extension=/usr/lib/php/VERSION/xdebug.so
xdebug.mode=debug
xdebug.client_host=127.0.0.1
xdebug.client_port=9003
xdebug.idekey=PHPSTORM
- 重启服务(如 Apache:sudo systemctl restart apache2);在 PhpStorm 的 Settings → PHP → Debug 中确认 IDE Key 为 PHPSTORM
- 常见问题排查:
- “phpunit 命令未找到”:检查 PATH 是否包含 $HOME/.composer/vendor/bin 或全局安装路径
- 找不到测试框架:优先使用 PHPUnit by Composer 指向 vendor/phpunit/phpunit/phpunit
- 断点不生效:确认运行配置使用了正确的解释器,且 xdebug.mode=debug 与端口 9003 未被占用