1. 安装PHPUnit
在Ubuntu终端中,通过Composer全局安装PHPUnit(推荐方式,便于项目级管理):
composer global require phpunit/phpunit
安装完成后,将Composer的全局bin目录添加到系统PATH中(如使用bash,编辑~/.bashrc或~/.zshrc文件,添加export PATH="$PATH:$HOME/.composer/vendor/bin",然后运行source ~/.bashrc或source ~/.zshrc使更改生效)。也可通过Ubuntu软件仓库安装(sudo apt-get install phpunit/phpunit),但全局安装更灵活。
2. 配置PhpStorm使用PHPUnit
打开PhpStorm,进入File > Settings(或PhpStorm > Preferences,macOS用户),导航至Tools > PHP > PHPUnit:
- 选择PHPUnit可执行文件:若全局安装了PHPUnit,PhpStorm会自动检测其路径(通常为
/usr/bin/phpunit或~/.composer/vendor/bin/phpunit);若未检测到,可手动指定路径。 - 配置phpunit.xml:勾选
Use configuration file,指定项目根目录下的phpunit.xml配置文件路径(后续步骤会创建)。
点击OK保存配置。
3. 创建测试目录与测试用例
在项目根目录下创建tests目录(用于存放所有测试文件,符合PHPUnit约定)。新建测试类文件(如ExampleTest.php),内容需继承PHPUnit\Framework\TestCase,且测试方法以test开头:
use PHPUnit\Framework\TestCase;
class ExampleTest extends TestCase
{
public function testExample()
{
$this->assertTrue(true); // 断言示例:验证true等于true
}
public function testAddition()
{
$this->assertEquals(4, 2 + 2); // 断言示例:验证2+2等于4
}
}
测试类命名需遵循类名Test.php规则(如UserModelTest.php对应UserModel类)。
4. 编写phpunit.xml配置文件
在项目根目录下创建phpunit.xml文件,定义测试套件、白名单等配置(示例):
"1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php" colors="true">
<testsuites>
<testsuite name="Default Test Suite">
<directory suffix="Test.php">./testsdirectory>
testsuite>
testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./srcdirectory>
directory>
filter>
phpunit>
bootstrap:指定项目自动加载文件(如Composer生成的vendor/autoload.php),确保测试时能加载项目类。testsuites:定义测试套件,指定测试文件所在目录及命名规则(如suffix="Test.php"表示以Test.php结尾的文件)。filter:设置被测试代码的白名单(如src目录下的.php文件),用于生成测试覆盖率报告。
5. 运行单元测试
PhpStorm提供多种运行测试的方式:
- 运行单个测试方法:在编辑器中打开测试方法,右键点击方法名,选择
Run 'testMethodName()'(如Run 'testAddition()')。 - 运行单个测试类:在编辑器或项目视图中右键点击测试类文件(如
ExampleTest.php),选择Run 'ExampleTest'。 - 运行所有测试:在项目视图中右键点击
tests目录,选择Run 'All Tests';或在PhpStorm顶部工具栏点击绿色三角形按钮,从下拉列表中选择PHPUnit配置。
测试结果将显示在Run工具窗口中,包含通过/失败的测试数量、执行时间及错误详情(如断言失败的具体信息)。
6. 调试单元测试
若测试失败或需要排查问题,可使用PhpStorm的调试功能:
- 在测试方法中设置断点(点击行号左侧,出现红色圆点)。
- 右键点击测试方法或类,选择
Debug 'testMethodName()'(如Debug 'testAddition()')。 - PhpStorm将进入调试模式,可通过调试工具窗口查看变量值、调用栈等信息,逐步执行代码以定位问题。
注意事项
- 确保PHPStorm中配置的PHP解释器与项目使用的PHP版本一致(进入
File > Settings > PHP,选择正确的解释器)。 - 若使用Composer管理项目依赖,确保
vendor/autoload.php文件存在(运行composer install生成)。 - 测试覆盖率:可在
phpunit.xml中配置覆盖率输出(如),通过Run工具窗口查看代码覆盖率报告。
以上就是关于“Ubuntu PHPStorm如何进行单元测试”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm