东风吹战鼓擂,一年一度的校招季开始了,最为一名即将踏入社会的搬砖工,自然也闲不下来了。各种总结、恶补、面经在所难免。当遇见敏捷开发时,有点蒙了,这是什么东东,绝对不能吃!既然是一种软件开发的方式,听上去还真不错,作为phper自然也得试试。

  TDD-- Test Driven Development,测试驱动开发,在开发功能代码之前先编写单元测试及单元测试用例。没有接触这之前不容易理解,通常的做法是测试是在功能完成后进行的,测试也是根据功能进行。存在即合理,究竟有何好处,为何能叫敏捷?这个真得试试才知道!

  PHPunit:作为一款轻量级的PHP测试框架,来源于JUnit3,是PHP单元测试比较优秀的框架。其官网 https://phpunit.de 有关于其的详细介绍,有一点不得不说,PHPunit的manual个人觉得做得很好,并提供中文版,翻译还好。安装之前明确一点,在官方文档中已经提及了phpunit扩展功能和需要的php扩展包,就不累述了。最新的stable版本号为5.0,要求PHP版本大于5.6。本文使用Ubuntu4.04,php版本5.5.9,phpunit版本为4.8.8(此版本要求的PHP>5.3.3)。

开始

  官方文档里面有有两种安装方式可选PHAR、 Composer,若开发环境中没有安装Composer依赖管理包,这个在其https://getcomposer.org/  中都有详细的介绍,不过建议你使用 http://www.phpcomposer.com/ 的中国全量镜像,当然也可以选择PHAR方式。不过我是个粗人,本着Linux一切皆文件的理论,那就得使用简单粗暴的方式。(其实是将上面两种方式安装好的phpunit移植到新的系统中,可以解决网络的某些原因)。

  安装使用的文件

  1. PHAR包:  http://7xnano.com1.z0.glb.clouddn.com/phpunit
  2. 源码包:        http://7xnano.com1.z0.glb.clouddn.com/vendor.tar.gz  

第一步:将PHAR包放到系统用户目录中  /usr/local/bin ,这样做的目的是系统全局都可使使用phpunit。两种方法:

  方法一:终端中进入到   /usr/local/bin   执行  $ sudo wget http://7xnano.com1.z0.glb.clouddn.com/phpunit 后为其添加可执行权限  sudo chmod +x phpunit ,后检查其权限,如果所示

然后检查phpunit 是否能成功加载  phpunit -version ,phpunit版本是4.8.8。

  方法二:如果你是桌面版系统,或者你可以通过SSH相关软件连接到你的服务器文件系统,那么简单了,直接将PHAR包下载下来,放到系统用户目录下。前提是你得有权限操作该目录,而且这样做以后也是需要在终端中为其添加执行权限。好吧,其实也够倒腾的。

第二步:建立测试工程(hello world)

  本人在/var/www/PHPunit中完成该程序。

  将源码包 下载到该目录(怎么下载就看你了,地址文章中已经提及),新建文件 indexTest.php

 <?php
require_once 'vendor/autoload.php'; class IndexTest extends PHPUnit_Framework_TestCase {
public function testOne(){
return 1;
}
/**
*
* @depends testOne
*/
public function testTwo($date){ return $date+1;
}
/**
*
* @depends testTwo
*/
public function testAll($date){
$this->assertEquals(2,$date);
}
}

  终端中进入到该目录下 /var/www/PHPunit 后执行  phpunit indexTest 如下图所示

OK,安装完成了。

初试PHP单元测试TDD之安装PHPUnit的更多相关文章

  1. 5分钟windows wamp php安装phpunit 2015最新安装实践

    16:11 2015/11/235分钟windows wamp php安装phpunit 2015最新安装实践我花了一个下午和一个上午的时间注意:步骤中添加环境变量多的时候要保存很多步,知道窗口都自动 ...

  2. Windows环境下安装PHPUnit

    Windows环境下安装PHPUnit,在此整理一下,以便大家参考. 本人测试安装环境:Windows7(win32) + Apache(2.2.13) + PHP(5.3.6) 1.    以管理员 ...

  3. linux下安装phpunit简单方法

    现在安装phpunit相当简单,只需要下载phar压缩格式的phpunit文件,给个执行权限,就可以执行了 以下是一段官方安装文档 wget https://phar.phpunit.de/phpun ...

  4. linux centos6.5 php5.6 安装PHPUnit 5.2.9 (转)

    转自:http://blog.csdn.net/shancunxiaoyazhi/article/details/50765293 操作系统版本:CentOS6.5 PHP版本:5.6 下载phpun ...

  5. [转]在Windows中安装PhpUnit

    FROM : http://www.cnblogs.com/heiing/archive/2012/09/07/2674807.html 步骤: 安装 pear ,参见http://www.cnblo ...

  6. 项目中初试PHP单元测试

    只能叫初试,前面虽然做了一些PHPUnit与团队所用框架的整合,但在整个团队还没有人可以主动推动这个事情,而作为Leader最重要的一种能力应该是"让正确的事情发生",所以今天开始 ...

  7. mac 安装phpunit

    大部分内容来自:https://blog.csdn.net/aishangyutian12/article/details/64124536 感谢创作,感谢分享 单元测试的重要性就不说了,postma ...

  8. Linux 下安装PHPunit

    PHP 档案包 (PHAR)  要获取 PHPUnit,最简单的方法是下载 PHPUnit 的 PHP 档案包 (PHAR),它将 PHPUnit 所需要的所有必要组件(以及某些可选组件)捆绑在单个文 ...

  9. linux下安装phpunit

    安装pear 的命令如下: $ wget http://pear.php.net/go-pear.phar $ php go-pear.phar 如果报出PHP Warning:  file_exis ...

随机推荐

  1. 由一个多线程共享Integer类变量问题引起的。。。

    最近看到一个多线程面试题,有三个线程分别打印A.B.C,请用多线程编程实现,在屏幕上循环打印10次ABCABC- 看到这个题目,首先想到的是解决方法是定义一个Integer类对象,初始化为0,由3个线 ...

  2. 初识WebService

    一.什么是Web服务 Web服务是一种可以用来解决跨网络应用集成问题的开发模式,目的是保证不同平台的应用服务可以互操作 二.Web服务的三个核心 Soap: SOAP(Simple Object Ac ...

  3. Appium+python的一个简单完整的用例

    最近一直在忙,终于有时间来整理一下,传一个简单的用例,运行之后可以看到用例的报告,希望对大家有帮助. HTMLTestRunner这个包网上有很多,大家可以自己下载. 1 import unittes ...

  4. Permutation Sequence

    The set [1,2,3,-,n] contains a total of n! unique permutations. By listing and labeling all of the p ...

  5. 微信H5中的一些坑

    最近在写微信公众号H5页面 遇到了一些坑,在这里记录一下 记录一下signature的计算 // 首先找到hex_sha1的加密算法,ticket 是后端提供的 var url_local = loc ...

  6. JavaScript OOP 之「创建对象」

    工厂模式 工厂模式是软件工程领域一种广为人知的设计模式,这种模式抽象了创建具体对象的过程.工厂模式虽然解决了创建多个相似对象的问题,但却没有解决对象识别的问题. function createPers ...

  7. 控制反转(IOC)

    对于很多大中型项目为了实现解耦都用到了控制反转. 常用的控制反转有unity,autoface,spring.Net 使用它们的目的归根结底就一个:避免了直接new一个对象. 今天抽时间将三种控制反转 ...

  8. mybatis多对一关联

    mybatis多对一关联查询实现 1.定义实体 定义实体的时候需要注意,若是双向关联,就是说双方的属性中都含有对方对象作为域属性出现, 那么在写toString()方法时需要注意,只让某一方输出即可, ...

  9. [转]extjs组件添加事件监听的三种方式

    原文地址:http://blog.csdn.net/y6300023290/article/details/18989635 1.在定义组件配置的时候设置 xtype : 'textarea', na ...

  10. com.panie 项目开发随笔_功能任务设计(2016.12.28)

    (一) 第一个菜单 做什么好呢? 1)上次 在研究的功能 是 爬虫,需要将定时爬虫的任务加进来 2)博客的页面,也需要重新布局出来 3)需要做一个,添加博客的页面 (二) 那就先做博客管理吧! 先添加 ...