PHPUnit 单元测试

目录

简介

环境搭建

参考资料


简介

PHPUnit是一个轻量级的测试框架。可以安装Xdebug拓展。

环境搭建

本文档里写的是一些在Windows 8.1 + PHP 7.3.12 + Composer环境下搭建PHPUnit的经验。

1. 在本地电脑上为PHPUnit新建一个文件夹,并将这个文件夹路径保存到环境变量中系统变量PATH里,然后重启电脑。

2. 访问https://phar.phpunit.de/phpunit.phar下载一个phpunit.phar到上一个步骤里创建的文件夹里。如果文件名是带版本号的phpunit.phar,可以去掉版本号,让文件名是phpunit.phar,然后在Windows命令行界面,切换当前目录到phpunit.phar所在的目录,然后运行:

echo @php "%~dp0phpunit.phar" %* > phpunit.cmd

就可以在phpunit.phar所在目录下生成一个phpunit.cmd文件。

3. 在命令行界面输入phpunit -v并按回车键,运行结果如果出现phpunit的版本号,就表明phpunit已经安装成功了。

4. 选择或者新建一个项目文件,在Windows命令窗口里切换当前目录到项目文件目录下,然后运行composer init,在项目根目录下新建一个composer.json的配置文件。

5. 在项目根目录下,运行

composer require --dev phpunit/phpunit

给项目引入phpunit文件夹。引入成功后会看到项目根目录下多了src和Vender两个文件夹。这时可以考虑把项目根目录下的composer.json内容改一下,例如:

{
    "name": "administrator/unit",
    "autoload": {
        "psr-4": {
            "app\\": "src/"
        }
    },
    "require-dev": {
        "phpunit/phpunit": "^9.5"
    }
}

6. 在项目目录下新建【mkdir】一个tests文件夹作为存放测试文件的地方。

7. 在项目根目录下新建一个phpunit.xml文件,可以靠敲下面的命令新建。

type nul > phpunit.xml

然后在phpunit.xml里写上如下内容:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit bootstrap="vendor/autoload.php"
         colors="true"
         verbose="true"
         stopOnFailure="false">
    <testsuites>
        <testsuite name="Test suite">
            <directory>tests</directory>
        </testsuite>
    </testsuites>
</phpunit>

里面的tests就是上一个步骤创建的测试库文件目录。

8. 然后在tests目录下新建测试文件,注意测试文件的文件名需要以Test结尾,如SimpleTest.php。也可以在项目根目录下的tests目录里新建子目录,并将测试文件里放在子目录下。

测试文件的内容可以写上:

<?php

use PHPUnit\Framework\TestCase;

class StackTest extends TestCase
{
    public function testPushAndPop()
    {
        $stack = array();
        $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));
    }
}

注意命名空间的引入,以及是继承TestCase类【PHPUnit V9.5.8】,而不是继承PHPUnit_Framework_TestCase类【可能是PHPUnit V5版本时可被继承的类】。

9. 在项目根目录下的vendor\bin应该可以看到phpunit和phpunit.bat。phpunit适用于Linux操作系统下命令行调用,而phpunit.bat适用于Windows操作系统下命令行调用。

本次安装是在Windows操作系统下安装的,所以在项目根目录下运行:

start 您的项目根目录路径\vendor\bin\phpunit.bat

就可以看到phpunit的测试运行结果了。

效果图:

参考资料

《 PHPUnit5.0中文手册【注意此手册版本较低】 PHP 档案包 (PHAR) 》

https://www.kancloud.cn/manual/phpunit-book/68605

《 PHPUnit 的用法 》

https://www.cnblogs.com/linnzh/p/12023914.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值