PHPUnit的使用

使用效果

先看下使用效果,我这里是直接在PhpStorm中集成使用的。
由上图测试结果可以看出
StackTest、Stack2Test、Stack3Test单元测试正常
Stack4Test测试有错误,并且标明了错误的具体位置。
我们还可以看到性能 :Time: 00:00.031, Memory: 6.00 MB

前言

PHPUnit是一款轻量级的PHP测试框架。
我们可以通过它来测试脚本、服务、通过断言的方式来校验服务的稳定性
我们还可以测试脚本、服务的性能

PHPUnit手册:点击跳转

安装

PHPUnit的安装方式有很多,但其他方式都可以不用看,看我这个就可以了。其他的真的很麻烦,使用也不方便。
使用composer方式安装:(不了解composer的先去百度了解下)

composer require phpunit/phpunit ^9

集成PhpStorm

PHPUnit的使用方式有多种,但是看我这种集成到PhpStorm一键使用就好了,其他的手动方式太麻烦了,不用看了。

1.配置php版本
点击File | Settings | Languages & Frameworks | PHP,配置PHPlevel和CLI,需要7.2版本
在这里插入图片描述
在这里插入图片描述
2.配置PHPUnit
点击File | Settings | Languages & Frameworks | PHP | Test Frameworks,选择Use Composer autoloader 配置好对应autoload.php路径,点击右边蓝色的刷新键。
点击Apply,确认配置
在这里插入图片描述
3.配置运行脚本
点击Run | Edit Configuration
在这里插入图片描述
配置运行脚本名称、测试类的文件夹路径。
在这里插入图片描述
4.编写测试类

<?php
require_once __DIR__ . '/../vendor/autoload.php';

use PHPUnit\Framework\TestCase;

class StackTest extends TestCase
{
    /** @var
     * 栈测试数据
     */
    protected $stack;

    /**
     * @var \Api\ApiServer
     * 测试服务类
     */
    protected $apiServer;

    /**
     * 测试数组进出
     */
    public function testPushAndPop()
    {
        $stack = [];
        $this->assertEquals(0, count($stack));
        array_push($stack, 'foo');
        $this->assertEquals('foo', $stack[count($stack)-1]);
        $this->assertEquals(1, count($stack));
        $this->assertEquals('foo', array_pop($stack));
        $this->assertEquals(0, count($stack));
    }


    /**
     * 测试用例初始化
     */
    protected function setUp(): void
    {
        $this->stack = [];
        $this->apiServer = new \Api\ApiServer();
        $this->apiServer->initUserId(1);
    }

    /**
     * api服务测试
     */
    public function testApiServer()
    {
        $data = $this->apiServer->getData();
        $this->assertArrayHasKey('ack', $data);
        $this->assertArrayHasKey('data', $data);
    }

    /**
     * 空数组测试
     */
    public function testEmpty()
    {
        $this->assertTrue(empty($this->stack));
    }

    /**
     * 数组push测试
     */
    public function testPush()
    {
        array_push($this->stack, 'foo');
        $this->assertEquals('foo', $this->stack[count($this->stack)-1]);
        $this->assertFalse(empty($this->stack));
    }

    /**
     * 数组pop测试
     */
    public function testPop()
    {
        array_push($this->stack, 'foo');
        $this->assertEquals('foo', array_pop($this->stack));
        $this->assertTrue(empty($this->stack));
    }
}

5.运行脚本
在这里插入图片描述
大功告成!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
要安装和使用PHPUnit,您可以按照以下步骤进行操作: 1. 下载PHPUnit使用命令`wget https://phar.phpunit.de/phpunit.phar`下载PHPUnit。 2. 将PHPUnit设置为全局变量:使用命令`mv phpunit.phar /usr/local/bin/phpunit`将PHPUnit移动到/usr/local/bin目录下,这样您就可以在任何位置直接使用`phpunit`命令了。 3. 检查安装是否成功:在命令行中输入`phpunit --version`,如果正确显示PHPUnit的版本号,则表示安装成功。 4. 创建测试文件:在您的项目目录中创建一个名为`TestExample.php`的文件,并添加测试代码。 5. 运行测试:在命令行中进入到您的项目目录中,然后运行`phpunit TestExample.php`命令来执行测试。 6. 配置文件:如果您需要自定义PHPUnit的配置,可以在项目目录中创建一个名为`phpunit.xml`或`phpunit.xml.dist`的配置文件。如果您希望忽略当前目录下的配置文件,可以使用`--no-configuration`选项来跳过配置文件的加载。 通过按照上述步骤进行操作,您就可以成功安装和使用PHPUnit来进行PHP单元测试了。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [PHPUnit简介及使用](https://blog.csdn.net/agonie201218/article/details/89675236)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [PHPUnit介绍及安装](https://blog.csdn.net/lg_lin/article/details/8073945)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值