Ubuntu下phpstorm如何进行单元测试
1. 准备工作:安装PHP和Composer
在Ubuntu上使用PhpStorm进行单元测试前,需确保已安装PHP(建议版本≥7.4)和Composer(PHP依赖管理工具)。可通过以下命令安装:
sudo apt update
sudo apt install php php-cli php-mbstring php-xml composer
安装完成后,通过php -v和composer -V验证安装是否成功。
2. 安装PHPUnit
PHPUnit是PHP主流单元测试框架,推荐通过Composer以项目依赖形式安装(避免全局污染):
cd /path/to/your/project # 进入项目根目录
composer require --dev phpunit/phpunit
安装后,PHPUnit的可执行文件会位于项目根目录的vendor/bin/phpunit。
3. 配置PHPUnit
在项目根目录创建phpunit.xml配置文件,定义测试范围、bootstrap文件及代码覆盖率白名单。示例如下:
<
?xml version="1.0" encoding="UTF-8"?>
<
phpunit bootstrap="vendor/autoload.php" colors="true">
<
!-- 定义测试套件:扫描tests目录下以Test.php结尾的文件 -->
<
testsuites>
<
testsuite name="Application Test Suite">
<
directory suffix="Test.php">
./tests<
/directory>
<
/testsuite>
<
/testsuites>
<
!-- 代码覆盖率白名单:扫描src目录下的Entity.php文件(根据实际调整) -->
<
filter>
<
whitelist processUncoveredFilesFromWhitelist="true">
<
directory suffix=".php">
./src<
/directory>
<
/whitelist>
<
/filter>
<
/phpunit>
此配置会自动加载vendor/autoload.php(Composer自动加载),并仅测试tests目录下的测试类。
4. 配置PhpStorm
打开PhpStorm,进入File >
Settings >
Languages &
Frameworks >
PHP >
Testing,完成以下设置:
- PHPUnit配置:选择“Use configuration file”,并指定
phpunit.xml的绝对路径(如/home/user/project/phpunit.xml); - PHP解释器:确保已配置正确的PHP版本(
File > Settings > Languages & Frameworks > PHP,点击“…”添加本地或远程解释器); - 服务器配置(可选):若需调试远程代码,添加服务器映射(
File > Settings > Languages & Frameworks > PHP > Servers),勾选“Use path mappings”并设置本地与远程路径对应关系。
5. 编写测试用例
在项目根目录创建tests目录(与phpunit.xml中的<
directory>
配置一致),新建测试类文件(如ExampleTest.php)。测试类需继承PHPUnit\Framework\TestCase,且测试方法以test开头(如testAddition)。示例如下:
<
?php
namespace Tests;
use PHPUnit\Framework\TestCase;
class ExampleTest extends TestCase
{
// 测试加法运算
public function testAddition()
{
$this->
assertEquals(4, 2 + 2);
// 断言2+2等于4
}
// 测试字符串包含
public function testStringContains()
{
$this->
assertStringContainsString('Hello', 'Hello World');
// 断言字符串包含"Hello"
}
}
测试类命名需遵循*Test.php规则(如UserTest.php),方法名需以test开头(如testSaveUser)。
6. 运行测试
- 通过PhpStorm界面运行:
右键点击测试文件(如ExampleTest.php)或测试方法(如testAddition),选择Run 'ExampleTest'(运行整个类)或Run 'testAddition()'(运行单个方法)。测试结果会显示在PhpStorm底部的Run工具窗口中,包含通过/失败状态、执行时间及错误信息。 - 通过终端运行:
在项目根目录执行以下命令:终端会输出测试结果,./vendor/bin/phpunit # 运行所有测试 ./vendor/bin/phpunit --filter testAddition # 运行单个测试方法 ./vendor/bin/phpunit --coverage-html coverage # 生成代码覆盖率报告(HTML格式)--coverage-html参数可生成可视化覆盖率报告(位于coverage目录)。
7. 调试测试(可选)
若需调试测试代码,可在测试方法中设置断点(点击行号左侧),右键选择Debug 'ExampleTest'。PhpStorm会启动调试模式,显示变量值、调用栈等信息,帮助定位问题。需提前配置Xdebug(sudo apt install php-xdebug,并在php.ini中启用zend_extension=xdebug.so)。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Ubuntu下phpstorm如何进行单元测试
本文地址: https://pptw.com/jishu/735988.html
