温馨提示×

phpstorm在Debian上的自动化测试

小樊
42
2025-12-09 09:03:16
栏目: 编程语言

在 Debian 上使用 PhpStorm 搭建自动化测试环境

一 环境准备

  • 安装 PHP 与调试扩展:sudo apt update && sudo apt install php php-xdebug
  • 安装 Composer:curl -sS https://getcomposer.org/installer | php && sudo mv composer.phar /usr/local/bin/composer
  • 在项目中引入测试框架(推荐作为开发依赖):composer require --dev phpunit/phpunit
  • 安装并启动 PhpStorm(JetBrains 官网下载 tar.gz,解压至 /opt,执行安装脚本,或通过 snap 安装)

二 配置 PHPUnit 与运行器

  • 配置 PHP 解释器:打开 PhpStorm → File → Settings → Languages & Frameworks → PHP,选择 CLI 解释器(常见路径如 /usr/bin/php
  • 配置测试框架:Settings → Languages & Frameworks → PHP → Test Frameworks,选择 PHPUnit,指定本地或 Composer 的 autoloader(如 vendor/autoload.php
  • 创建 phpunit.xml(项目根目录),示例:
    • 运行器与引导:使用 PHPUnit 10+ 推荐通过 Composer 的 autoloader;如使用 PHAR,可设置 phpunit.phar 路径
    • 基本结构:
      • 引导:bootstrap=“vendor/autoload.php”
      • 测试套件:./tests
      • 覆盖率白名单:./src
  • 运行与调试:在测试类/方法上右键 Run/Debug;或 Run → Edit Configurations → 新建 PHPUnit 配置,选择测试类型(如 All in directory → 指向 ./tests),保存后点击运行

三 覆盖率与调试

  • 覆盖率:确保 phpunit.xml 的 白名单包含 ./src,在 PhpStorm 运行配置中勾选 Run with coverage,执行后在 Coverage 工具窗口查看报告
  • 调试测试:在测试方法上设置断点,使用 Debug 运行;确保 Xdebug 已启用(见下一节),PhpStorm 将中断在断点处以便查看变量与调用栈

四 Xdebug 配置与常见问题

  • php.ini(CLI 与/或 FPM,注意路径与版本匹配,如 /etc/php/8.2/cli/php.ini/etc/php/8.2/fpm/php.ini):
    • [Xdebug]
    • zend_extension=xdebug.so
    • xdebug.mode=debug
    • xdebug.client_host=127.0.0.1
    • xdebug.client_port=9003
    • xdebug.idekey=PHPSTORM
    • 重启服务:sudo systemctl restart php8.2-fpm(或 apache2)
  • PhpStorm:Settings → PHP → Debug 设置端口 9003;Run → Edit Configurations → PHPUnit 勾选 Debug;需要 CLI 调试时,确保 Run/Debug 使用 CLI 解释器而非内置服务器
  • 常见问题
    • 找不到 PHPUnit:优先使用 Composer 的 vendor/bin/phpunit;或在 Test Frameworks 中手动设置 PHPUnit 运行器路径
    • 覆盖率不显示:检查 phpunit.xml 的 是否覆盖 ./src,并确认以“Run with coverage”执行
    • 断点不生效:核对 Xdebug 端口为 9003、IDE Key 为 PHPSTORM,并重启 PHP/FPM 与 PhpStorm 缓存无效后重试

0