温馨提示×

如何在Ubuntu上用PHPStorm进行单元测试

小樊
36
2025-10-31 22:54:51
栏目: 编程语言

1. 安装PHPUnit
在Ubuntu上,PHPUnit可以通过两种方式安装:

  • 系统包管理器(简单,适合基础使用):运行sudo apt-get update && sudo apt-get install phpunit/phpunit,安装后可通过phpunit --version验证。
  • Composer(推荐,适合项目级依赖管理):在项目根目录执行composer require --dev phpunit/phpunit,安装后PHPUnit的可执行文件位于vendor/bin/phpunit

2. 配置PHPStorm
打开PHPStorm,依次进入File > Settings > Languages & Frameworks > PHP > Test Frameworks

  • 选择PHPUnit类型:点击+添加框架,选择PHPUnit by Remote Interpreter(若使用Composer安装)或PHPUnit Local(若使用系统安装)。
  • 指定PHPUnit路径
    • 系统安装:路径通常为/usr/bin/phpunit(可通过which phpunit确认);
    • Composer安装:选择项目根目录下的vendor/bin/phpunit
  • 配置bootstrap文件(可选但推荐):勾选Path to script,填写vendor/autoload.php(Composer项目的自动加载文件),确保测试时能正确加载依赖。

3. 创建测试类
在项目中新建tests目录(常规做法,用于存放测试文件),创建以Test结尾的PHP文件(如ExampleTest.php),内容如下:

<?php
use PHPUnit\Framework\TestCase;

class ExampleTest extends TestCase {
    public function testAddition() {
        $this->assertEquals(4, 2 + 2); // 断言:验证2+2等于4
    }

    public function testStringContains() {
        $this->assertStringContainsString('foo', 'foobar'); // 断言:验证字符串包含子串
    }
}
?>

测试类需继承TestCase,方法名以test开头(PHPUnit会自动识别)。

4. 运行测试

  • 单文件/单方法运行:在PHPStorm编辑器中打开测试文件,右键点击测试类名或方法名,选择Run 'ExampleTest'(运行整个类)或Run 'testAddition()'(运行单个方法)。
  • 终端运行:打开PHPStorm的Terminal窗口,输入vendor/bin/phpunit(Composer安装)或phpunit(系统安装),可运行所有测试;若需运行特定测试,添加--filter参数,如vendor/bin/phpunit --filter testAddition

5. 查看测试结果
测试运行后,结果会显示在PHPStorm底部的Run工具窗口中:

  • 通过测试:显示绿色对勾,标注执行时间和通过状态;
  • 失败测试:显示红色叉号,标注失败原因(如断言不匹配);
  • 错误信息:点击失败测试,可展开查看详细错误堆栈(如异常类型、发生位置)。

6. 可选优化:集成Xdebug(调试测试)
若需调试测试代码(如设置断点、单步执行),需配置Xdebug:

  • 安装Xdebug:运行sudo apt-get install php-xdebug(Ubuntu 22.04+)或对应版本的Xdebug包。
  • 配置php.ini:编辑/etc/php/<version>/cli/php.ini(CLI环境),添加或修改以下内容:
    zend_extension=xdebug.so
    xdebug.mode=debug
    xdebug.start_with_request=yes
    xdebug.client_host=127.0.0.1
    xdebug.client_port=9003
    
  • 配置PHPStorm:进入File > Settings > PHP > Debug,确保Xdebug已启用,Debug port设置为9003(与php.ini一致);进入Servers,添加项目服务器,开启Use path mappings,设置本地项目路径与远程路径(若为本地开发,远程路径可留空)。
  • 调试测试:右键点击测试方法,选择Debug 'ExampleTest',PHPStorm会进入调试模式,可通过F7(进入方法)、F8(跳过方法)、F9(继续执行)控制调试流程。

0