温馨提示×

在Linux中如何使用PHPStorm进行单元测试

小樊
34
2025-11-21 01:06:43
栏目: 编程语言

在 Linux 上使用 PhpStorm 进行单元测试

一 环境准备

  • 安装并启动 PHPStorm(Linux 版),确保系统已安装 PHP CLI
  • 使用 Composer 安装测试依赖(推荐):在项目根目录执行
    • 安装 PHPUnit:composer require --dev phpunit/phpunit
    • 安装 Codeception(如使用):composer require --dev codeception/codeception
  • 创建基础配置 phpunit.xml(置于项目根目录),便于批量运行与覆盖率:
    • 示例:
      • Ubuntu
        • 安装:sudo apt-get update && sudo apt-get install phpunit
        • Xdebug(覆盖率/调试):sudo apt-get install php-xdebug
      • CentOS
        • 安装工具链:sudo yum install php-pdo php-mbstring php-xml
        • Composer:curl -sS https://getcomposer.org/installer | php && sudo mv composer.phar /usr/local/bin/composer
          以上步骤完成后,项目具备运行 PHPUnit 所需依赖与基础配置。

二 在 PhpStorm 中配置 PHP 与测试框架

  • 配置 PHP 解释器:进入 File > Settings > Languages & Frameworks > PHP,添加 CLI 解释器(如 /usr/bin/php),确认版本与扩展正常。
  • 配置 Test Frameworks:进入 PHP > Test Frameworks,选择 PHPUnit
    • 方式 A(推荐,Composer):选择 Use Composer autoloader,指向项目 vendor/autoload.php
    • 方式 B(PHAR/全局):选择 Use custom autoloader,指定 phpunit.phar 路径;或选择 Use system PHPUnit(若系统已全局安装)。
  • 关联 phpunit.xml:在测试框架设置中指定 Configuration file(项目根目录的 phpunit.xml),用于套件与覆盖率。
  • 覆盖率(可选):确保已安装 Xdebug,在 Settings > PHP > Debug 启用 Xdebug,用于断点调试与覆盖率统计。

三 编写与运行测试

  • 创建测试:在项目中建立 tests/ 目录,新增测试类,例如 ExampleTest.php
    • 示例:
      • PHPUnit
        • 文件:tests/ExampleTest.php
        • 代码:
          • assertTrue(true); } - }
      • Codeception(如使用):按模块生成测试并执行。
  • 运行与调试:在编辑器中对测试类/方法右键选择 Run ‘ExampleTest’Debug ‘ExampleTest’;结果在 Run 工具窗口展示。也可使用工具栏运行整个测试类或测试套件。

四 覆盖率与常见问题

  • 覆盖率:在 Run/Debug Configurations 中勾选 Coverage,运行后在 Run 窗口或 Project 视图查看覆盖率报告;需确保 Xdebug 已启用。
  • 常见问题排查:
    • 类找不到/自动加载失败:优先使用 Composer autoloader(vendor/autoload.php),确保依赖已安装(composer install)。
    • 解释器无效:在 PHP Interpreter 页面点击同步/验证,确认 php -v 与扩展正常。
    • 全局命令找不到:若使用系统级 phpunit,确认 /usr/local/bin/phpunitPATH 中,或改用 Composer 方案。
    • 远程/容器环境:在 Settings > PHP > Servers 配置 path mappings,确保本地与远程路径一致。

0