ubuntu

Ubuntu下phpstorm如何进行单元测试

小樊
39
2025-10-27 09:03:54
栏目: 编程语言

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 -vcomposer -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,完成以下设置:

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. 运行测试

7. 调试测试(可选)
若需调试测试代码,可在测试方法中设置断点(点击行号左侧),右键选择Debug 'ExampleTest'。PhpStorm会启动调试模式,显示变量值、调用栈等信息,帮助定位问题。需提前配置Xdebug(sudo apt install php-xdebug,并在php.ini中启用zend_extension=xdebug.so)。

0
看了该问题的人还看了