Ubuntu PHPStorm如何进行单元测试
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
开头:
<
?php
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
文件,定义测试套件、白名单等配置(示例):
<
?xml version="1.0" encoding="UTF-8"?>
<
phpunit bootstrap="vendor/autoload.php" colors="true">
<
testsuites>
<
testsuite name="Default Test Suite">
<
directory suffix="Test.php">
./tests<
/directory>
<
!-- 测试文件目录及后缀 -->
<
/testsuite>
<
/testsuites>
<
filter>
<
whitelist processUncoveredFilesFromWhitelist="true">
<
directory suffix=".php">
./src<
/directory>
<
!-- 被测试代码目录(白名单) -->
<
/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
中配置覆盖率输出(如< logging> < coverage>
),通过Run
工具窗口查看代码覆盖率报告。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu PHPStorm如何进行单元测试
本文地址: https://pptw.com/jishu/728820.html