确保CentOS系统已安装PHP及单元测试所需的扩展(如pdo、mbstring、xml),这些扩展是PHPUnit运行的基础。
sudo yum install php php-cli php-mbstring php-xml php-zip php-pdo php-mysqlnd -y
有两种安装方式,推荐全局安装(方便命令行使用)或项目本地安装(推荐,避免版本冲突):
全局安装(通过PECL):
sudo pecl install phpunit/phpunit
sudo sh -c 'echo "extension=phpunit.so" > /etc/php.d/phpunit.ini'
sudo systemctl restart httpd # 重启Web服务器(如Apache)
验证安装:phpunit --version(应显示PHPUnit版本)。
项目本地安装(推荐,通过Composer):
在项目根目录执行:
composer require --dev phpunit/phpunit
安装后,PHPUnit可执行文件位于vendor/bin/phpunit。
File > Settings > Languages & Frameworks > PHP。CLI Interpreter右侧的+,选择Local,然后浏览至PHP可执行文件路径(如/usr/bin/php或项目本地Composer安装的PHP路径)。Sync同步解释器,确保显示“Successfully”(成功)。File > Settings > Languages & Frameworks > PHP > Test Frameworks。+,选择PHPUnit,然后选择Local(若全局安装)或Composer(若项目本地安装)。
/usr/local/bin/phpunit,项目本地为vendor/bin/phpunit)。composer.json中的PHPUnit配置。Use alternative configuration file,指定phpunit.xml路径(项目根目录下的配置文件,用于自定义测试套件)。在项目中创建tests目录(用于存放测试文件),编写继承自PHPUnit\Framework\TestCase的测试类。
tests/ExampleTest.php):<?php
use PHPUnit\Framework\TestCase;
class ExampleTest extends TestCase {
public function testBasicTest() {
$this->assertTrue(true); // 断言:验证true为真
}
public function testAddition() {
$result = 2 + 3;
$this->assertEquals(5, $result); // 断言:验证2+3等于5
}
}
注意:测试类名需以Test结尾,测试方法需以test开头(或添加@test注解)。Project视图中,右键点击测试文件(如tests/ExampleTest.php),选择Run 'PHPUnit on ExampleTest.php'(或Debug进行调试)。Run窗口,包含通过/失败的测试方法及详细信息。Run > Edit Configurations。+,选择PHPUnit。Test kind为Directory,选择tests目录(存放所有测试文件的目录)。OK保存配置,然后点击工具栏的绿色三角形(或Run > Run 'PHPUnit')运行整个套件。Run窗口会显示每个测试方法的执行结果(绿色表示通过,红色表示失败),点击失败项可查看具体错误信息(如断言失败的具体值)。Debug 'PHPUnit on XXXTest.php',PhpStorm会暂停在断点处,支持单步执行、查看变量等调试操作。通过以上步骤,即可在CentOS系统上使用PhpStorm完成PHP单元测试的配置与执行。测试过程中,可根据项目需求调整phpunit.xml配置文件(如指定测试目录、排除文件、生成代码覆盖率报告等),提升测试效率。