PHP单元测试PHPUnit简单用法示例

yipeiwu_com5年前PHP代码库

本文实例讲述了PHP单元测试PHPUnit简单用法。分享给大家供大家参考,具体如下:

windows开发环境下,PHP使用单元测试可以使用PHPUnit。

安装

首先下载PHPUnit,官网:https://phpunit.de/  根据自己的PHP版本下载对应的PHPUnit版本,我本地是PHP5.5,所以这里我下载PHPUnit4.8。下载完成得到phpunit-4.8.35.phar文件,放到任意目录,这边我放到D:\phpunit下,并把文件名改为:phpunit.phar  。配置环境变量:右击我的电脑-》属性-》高级系统设置-》环境变量-》编辑path在最后添加phpunit.phar的路径,这里我是D:\phpunit,所以在最后添加D:\phpunit  。

打开命令行win+R输入cmd,进入到D:\phpunit

cd /d D:\phpunit

安装phpunit

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

查看是否安装成功

phpunit --version

如果显示phpunit的版本信息,说明安装成功了,这边我显示:PHPUnit 4.8.35 by Sebastian Bergmann and contributors.

测试

先写一个需要测试的类,该类有一个eat方法,方法返回字符串:eating,文件名为Human.php

<?php
class Human
{
  public function eat()
  {
    return 'eating';
  }
}

再写一个phpunit的测试类,测试Human类的eat方法,必须引入Human.php文件、phpunit,文件名为test1.php

<?php
include 'Human.php';
use PHPUnit\Framework\TestCase;
  class TestHuman extends TestCase
  {
    public function testEat()
    {
      $human = new Human;
      $this->assertEquals('eating', $human->eat());
    }
  }
?>

其中assertEquals方法为断言,判断eat方法返回是否等于'eating',如果返回一直则成功否则返回错误,运行测试:打开命令行,进入test1.php的路径,然后运行测试:

phpunit test1.php

返回信息:

PHPUnit 4.8.35 by Sebastian Bergmann and contributors.
.
Time: 202 ms, Memory: 14.75MB
OK (1 test, 1 assertion)

则表示断言处成功,即返回值与传入的参数值一致。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》、《php字符串(string)用法总结》、《PHP数组(Array)操作技巧大全》、《PHP运算与运算符用法总结》、《PHP网络编程技巧总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》及《php优秀开发框架总结

希望本文所述对大家PHP程序设计有所帮助。

相关文章

PHP实现生成唯一会员卡号

PHP实现生成唯一会员卡号

在不查询数据库的情况下,每个会员登录进来会生成一个数字字母组合不重复的会员卡号。 效果图如下: 当我们要将一个庞大的数据进行编号时,而编号有位数限制,比如5位的车牌号、10位的某证件号...

PHP设计模式之模板模式定义与用法详解

PHP设计模式之模板模式定义与用法详解

本文实例讲述了PHP设计模式之模板模式定义与用法。分享给大家供大家参考,具体如下: 模板模式准备一个抽象类,将部分逻辑以具体方法以及具体构造形式实现,然后声明一些抽象方法来迫使子类实现剩...

php实现编辑和保存文件的方法

本文实例讲述了php实现编辑和保存文件的方法。分享给大家供大家参考。具体如下: save_file.php: <?php session_start(); $han...

PHP安装memcache扩展的步骤讲解

PHP安装memcache扩展的步骤讲解

PHP 5.6.23,查询目前最稳定的版本是memcache-2.2.7。 1.下载并解压缩。 wget http://pecl.php.net/get/memcache-2.2.7....

php面象对象数据库操作类实例

本文实例讲述了php面象对象数据库操作类。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下://此处构造一个数据库操作类,封装所有数据库操作 //可以扩展便于后台管理程序...