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 readfile下载大文件失败的解决方法

本文实例讲述了php readfile下载大文件失败的解决方法。分享给大家供大家参考,具体如下: 大文件有200多M,只下载了200K就提示下载完成,且不报错。 原因是PHP内存有限制,...

PHP实现RSA签名生成订单功能【支付宝示例】

本文实例讲述了PHP实现RSA签名生成订单功能。分享给大家供大家参考,具体如下: //组合签名 $a=time(); $b=substr($a, 1); //生成随机订单号 $ord...

PHP实现动态添加XML中数据的方法

PHP实现动态添加XML中数据的方法

本文实例讲述了PHP实现动态添加XML中数据的方法。分享给大家供大家参考,具体如下: 前面简单讲述了xml文档的创建,这里继续讨论xml中数据的动态添加: 一. 代码 <...

php cli模式学习(PHP命令行模式)

php cli模式学习(PHP命令行模式)

php_cli模式简介 php-cli是php Command Line Interface的简称,如同它名字的意思,就是php在命令行运行的接口,区别于在Web服务器上运行的php环境...

PHP session_start()问题解疑(详细介绍)

本文,将这些问题,做一个简单的汇总,以便大家查阅。1.错误提示Warning: Cannot send session cookie - headers already sentWarn...