IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> PHPUnit 单元测试 -> 正文阅读

[PHP知识库]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

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-08-26 11:53:54  更:2021-08-26 11:55:38 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:35:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码