在PhpStorm中通过PHPUnit进行单元测试的简单示例

发布时间:2021-09-13 18:09:37 作者:chen
来源:亿速云 阅读:156

在PhpStorm中通过PHPUnit进行单元测试的简单示例

单元测试是软件开发中不可或缺的一部分,它可以帮助开发者验证代码的正确性,确保代码在修改后仍然能够正常工作。PHPUnit 是 PHP 中最流行的单元测试框架之一,而 PhpStorm 是一个功能强大的 PHP 集成开发环境(IDE),它提供了对 PHPUnit 的全面支持。本文将介绍如何在 PhpStorm 中通过 PHPUnit 进行单元测试,并通过一个简单的示例来演示整个过程。

1. 环境准备

在开始之前,确保你已经安装了以下工具:

1.1 安装 PHPUnit

首先,我们需要通过 Composer 安装 PHPUnit。在你的项目根目录下运行以下命令:

composer require --dev phpunit/phpunit

这将会在你的项目中安装 PHPUnit,并将其添加到 composer.json 文件的 require-dev 部分。

1.2 配置 PhpStorm

接下来,我们需要在 PhpStorm 中配置 PHPUnit。

  1. 打开 PhpStorm,进入 File -> Settings(Windows/Linux)或 PhpStorm -> Preferences(macOS)。
  2. 在设置窗口中,导航到 Languages & Frameworks -> PHP -> Test Frameworks
  3. 点击 + 按钮,选择 PHPUnit Local
  4. Path to phpunit.phar 字段中,选择 Use Composer autoloader,并指定 vendor/autoload.php 文件的路径。
  5. 点击 ApplyOK 保存设置。

2. 创建测试类

现在,我们已经配置好了 PHPUnit,接下来我们将创建一个简单的 PHP 类,并为其编写单元测试。

2.1 创建被测试的类

首先,创建一个简单的 PHP 类 Calculator.php,它将包含一些基本的数学运算方法。

<?php

class Calculator
{
    public function add($a, $b)
    {
        return $a + $b;
    }

    public function subtract($a, $b)
    {
        return $a - $b;
    }

    public function multiply($a, $b)
    {
        return $a * $b;
    }

    public function divide($a, $b)
    {
        if ($b == 0) {
            throw new InvalidArgumentException("Division by zero");
        }
        return $a / $b;
    }
}

2.2 创建测试类

接下来,我们为 Calculator 类创建一个测试类 CalculatorTest.php。在 PhpStorm 中,你可以通过右键点击 Calculator 类,然后选择 Go to -> Test -> Create New Test 来快速创建测试类。

<?php

use PHPUnit\Framework\TestCase;

class CalculatorTest extends TestCase
{
    private $calculator;

    protected function setUp(): void
    {
        $this->calculator = new Calculator();
    }

    public function testAdd()
    {
        $this->assertEquals(4, $this->calculator->add(2, 2));
    }

    public function testSubtract()
    {
        $this->assertEquals(2, $this->calculator->subtract(4, 2));
    }

    public function testMultiply()
    {
        $this->assertEquals(8, $this->calculator->multiply(2, 4));
    }

    public function testDivide()
    {
        $this->assertEquals(2, $this->calculator->divide(4, 2));
    }

    public function testDivideByZero()
    {
        $this->expectException(InvalidArgumentException::class);
        $this->calculator->divide(4, 0);
    }
}

2.3 运行测试

在 PhpStorm 中,你可以通过以下几种方式运行测试:

  1. 右键点击测试类:在 CalculatorTest.php 文件中,右键点击类名或方法名,然后选择 Run 'CalculatorTest'Run 'testAdd'
  2. 使用快捷键:在测试类中按下 Ctrl+Shift+F10(Windows/Linux)或 Control+Shift+R(macOS)来运行当前测试。
  3. 通过测试窗口:在 PhpStorm 的底部面板中,打开 Run 窗口,选择 CalculatorTest 并点击运行按钮。

运行测试后,你将在 Run 窗口中看到测试结果。如果所有测试都通过,你将看到绿色的成功提示;如果有测试失败,PhpStorm 会显示详细的错误信息。

3. 测试覆盖率

PHPUnit 还支持生成代码覆盖率报告,这可以帮助你了解测试覆盖了多少代码。要启用代码覆盖率,你需要安装 Xdebug 或 PCOV 扩展。

3.1 安装 Xdebug

你可以通过以下命令安装 Xdebug:

pecl install xdebug

安装完成后,确保在 php.ini 文件中启用了 Xdebug 扩展:

zend_extension=xdebug.so
xdebug.mode=coverage

3.2 配置 PhpStorm 以生成覆盖率报告

  1. 打开 PhpStorm 的设置,导航到 Languages & Frameworks -> PHP -> Test Frameworks
  2. 选择你之前配置的 PHPUnit,然后在 Code Coverage 部分勾选 Enable code coverage
  3. 点击 ApplyOK 保存设置。

3.3 运行测试并查看覆盖率

现在,当你运行测试时,PhpStorm 将生成代码覆盖率报告。你可以在 Run 窗口的 Coverage 选项卡中查看覆盖率信息。覆盖率报告将显示每个文件的覆盖率百分比,并高亮显示未覆盖的代码行。

4. 结论

通过本文的介绍,你应该已经掌握了如何在 PhpStorm 中通过 PHPUnit 进行单元测试的基本流程。单元测试是确保代码质量的重要手段,它可以帮助你在开发过程中及时发现和修复问题。PhpStorm 提供了强大的工具支持,使得编写和运行单元测试变得更加便捷。希望本文能够帮助你更好地利用 PhpStorm 和 PHPUnit 进行单元测试,提升你的开发效率和代码质量。

推荐阅读:
  1. phpstorm配置phpunit进行单元测试
  2. ubuntu +phpstorm 配置phpunit

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

phpstorm phpunit

上一篇:如何高效的在Mysql百万级数据量级下迁移到Redis

下一篇:如何使用php foreach修改值

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》