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

yipeiwu_com7年前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设计模式 Template (模板模式)

继承关系由于自身的缺陷,被专家们扣上了“罪恶”的帽子。“使用委派关系代替继承关系”,“尽量使用接口实现而不是抽象类继承”等等专家警告,让我们这些菜鸟对继承“另眼相看”。其实,继承还是有很...

php函数间的参数传递(值传递/引用传递)

php:函数间的参数传递 1.值传递 复制代码 代码如下: <?php function exam($var1){ $var1++; echo "In Exam:" . $var1...

php中实现进程锁与多进程的方法

php中实现进程锁与多进程的方法

为什么需要进程锁? 主要作用就是防止你重复执行同一程序,主要用在crontab中,当你设置了一个定时任务,然后每分钟执行一次,如果不加进程锁的话,之前的进程没有执行完的情况下。每分钟都会...

php数组函数序列之array_combine() - 数组合并函数使用说明

array_combine() 定义和用法 array_combine() 函数通过合并两个数组来创建一个新数组,其中的一个数组是键名,另一个数组的值为键值。 如果其中一个数组为空,或者...

解析关于java,php以及html的所有文件编码与乱码的处理方法汇总

php文件中在乱码(如a.php文件在浏览器乱码):header("Content-Type:text/html;charset=utf-8")是设置网页的。mysql_query("s...