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

yipeiwu_com6年前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的符号。一个是@,这个加在一个变量的前面,是为了抑制PHP解释器报错,也就是说即使出了错也不会显示出来。 还有一个更重要的符号PHP的范围解析操作符(::) 在没有...

PHP中的self关键字详解

前言 PHP群里有人询问self关键字的用法,答案是比较明显的:静态成员函数内不能用this调用非成员函数,但可以用self调用静态成员函数/变量/常量;其他成员函数可以用self调用静...

php图片上传存储源码并且可以预览

复制代码 代码如下: <?php header("content-Type: text/html; charset=gb2312"); $uptypes=array('image/...

php提示Failed to write session data错误的解决方法

本文较为详细的分析了php提示Failed to write session data错误的解决方法。分享给大家供大家参考。具体方法如下: 一、问题: 提示信息:Warning: Fai...

php中http_build_query 的一个问题

当我们使用CURL来post数据的时候,需要设置post的数据 curl_setopt($c, CURLOPT_POSTFIELDS, $post_data); 假如这里的$data是...