PHPUnit入门
PHPUnit是PHP语言的单元测试框架、工具,xunit单元测试工具系列成员之一,可以单独运行在Linux或windows系统下面,也可以集成到zend studio等IDE工具中。
工具下载:https://phpunit.de/index.html
在线手册:https://phpunit.de/manual/4.6/zh_cn/index.html
工具安装参见在线手册文档
在命令行下使用PHPUnit进行单元测试
1、配置好phpunit命令的path等环境变量,确保能在任意目录下执行phpunit命令。
2、直接使用phpunit命令来运行测类文件:

.. 2个测试方法都运行成功
OK 包括2个测试方法,4个断言
- . 当测试成功时输出。
- F 当测试方法运行过程中一个断言失败时输出。
- E 当测试方法运行过程中产生一个错误时输出。
- R 当测试被标记为有风险时输出。
- S 当测试被跳过时输出。
- I 当测试被标记为不完整或未实现时输出。
在zend studio中使用PHPUnit框架
1.为需要进行单元测试的项目添加phpunit的Library。
右键点击项目->properties->PHP Include Path->Libraries选项卡

点击Add Library...,选择PHPUnit x.x->Next->Finish

点击OK,phpunit的Library就添加成功了
2、编写测试类(继承PHPUnit框架的PHPUnit_Framework_TestCase类)
待测试的Demo类:

右键点击项目->New->PHPUnit Test Case,新建测试用例类(也可以直接新建普通的PHP File):

可以选择要测的类或函数:

完成后,或自动生成PHPUnit框架代码:

<?php
require_once 'Demo.php'; //包含被测试的类文件
require_once 'PHPUnit/Framework/TestCase.php'; //包含框架类库,当在命令行下使用phpunit命令运行单元测试时,无需此条语句
/**
* Demo test case.
*/
class DemoTest extends PHPUnit_Framework_TestCase //测试类名以被测试类名+Test命名,继承测试框架测试用例类
{
/**
*
* @var Demo
*/
private $Demo;
/**
* Prepares the environment before running a test.
*/
protected function setUp() //测试前配置测试环境
{
parent::setUp();
// TODO Auto-generated DemoTest::setUp()
$this->Demo = new Demo(/* parameters */);
}
/**
* Cleans up the environment after running a test.
*/
protected function tearDown() //测试后清理测试环境
{
// TODO Auto-generated DemoTest::tearDown()
$this->Demo = null;
parent::tearDown();
}
/**
* Constructs the test case.
*/
public function __construct() //构造函数
{
// TODO Auto-generated constructor
}
/**
* Tests Demo->sum()
*/
public function testSum() //测试方法以test+被测试的方法命名
{
// TODO Auto-generated DemoTest->testSum()
//$this->markTestIncomplete("sum test not implemented");
$this->assertEquals(4,$this->Demo->sum(2,2)); //断言
$this->assertEquals(0,$this->Demo->sum(0,0));
}
/**
* Tests Demo->subtract()
*/
public function testSubtract()
{
// TODO Auto-generated DemoTest->testSubtract()
//$this->markTestIncomplete("subtract test not implemented");
$this->assertNotEquals(3,$this->Demo->subtract(1,1));
$this->assertEquals(0,$this->Demo->subtract(0,0));
}
}
Xunit框架执行顺序:

3、运行单元测试
右键点击测试文件->Run as->PHPUnit Test就可以进行单元测试了:

单元测试运行成功状态(绿色):

PHPUnit入门的更多相关文章
- phpunit 入门
话说,使用phpunit还是处于好奇之心,为什么以前一直没使用呢?主要是嫌麻烦,小项目,前后端都是自己写,几个人就完成的工作,没必要弄的那么麻烦.好了,废话不多说,让我们一起来感受下phpunit吧! ...
- 用phpUnit入门TDD
用phpunit实战TDD系列 从一个银行账户开始 假设你已经 安装了phpunit. 我们从一个简单的银行账户的例子开始了解TDD(Test-Driven-Development)的思想. 在工程目 ...
- PHP Unit资料收集
ThinkPHP Unit https://github.com/gaoermai/ThinkPHPUnit PHPUnit入门http://blog.csdn.net/fly_heart_yuan/ ...
- phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识
16:45 2015/12/8phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识 具体的入门安装和入门实践请参照文中的推荐博客或网上其他博客推荐博客,我感觉这几篇博客写得很不错 ...
- php单元测试入门教程phpunit详解
本文档提供了一些phpunit官方教程没有提到的信息,帮助初学者快速了解php单元测试,在phpunit官网提供了详细的中文教程,可选多种格式下载 phpunit官网地址:https://phpuni ...
- 【技术博客】 Laravel 5.1单元测试(PHPUnit)入门
目录 Laravel 5.1单元测试(PHPUnit)入门 简介 安装与配置 1. 安装 2. 配置 编写测试样例 1. 新建测试样例 2. 编写函数的测试 3. 编写Web功能测试 运行测试与查看结 ...
- phpunit学习 3:
16:17 2015/12/11phpunit学习 3:单元测试的大概步骤是:编写待测试类,编写测试用例类,编写测试类,测试.1.如果你有多个类,多个测试类的test类,那么可以编写一个AllTest ...
- zend studio使用入门
使用zend studio8建立项目 使用PHP开发工具zend studio8进行PHP网站开发,就需要建立(导入)相应的项目,方法如下:右键左侧Workspace,选择New | PHP Proj ...
- PHPUnit简介及使用
一.PHPUnit是什么? 1.它是一款轻量级的PHP测试框架,地址:http://www.phpunit.cn 2.手册:http://www.phpunit.cn/manual/5.7/zh_cn ...
随机推荐
- 【krpano】浏览点赞插件(源码+介绍+预览)
简介 最近几天研究了如何在krpano全景的基础上实现记录浏览量和点赞次数,写了一个插件,方便大家使用. 效果截图如下: 每当有用户打开该全景页面时,浏览量会自动加1: 用户可以主动点击点赞按钮,点击 ...
- android studio--百度定位集成001
安卓现在的大趋势已经是普遍使用androidstudio(安装包[https://yunpan.cn/ckc54idj3JVJb 访问密码 664f])了.这个是集成的一个好的环境. 今天来搞个百度 ...
- 4.EasyUI学习总结(四)——EasyUI组件使用 (通过用户登录来演示dialog、ajax的使用,serialize方法的使用,前后台怎样交互等)
一.EasyUI组件的简单介绍 详细可看api: http://www.jeasyuicn.com/api/docTtml/index.htm easyUI提供了很多组件让我们使用,如下图所示: 很多 ...
- bzoj3439 trie+可持久化线段树
挺好想的 trie建树后,按dfn序建可持久化 注意:计数变量多的题目一定要注意检查会不会用的时候搞混了 #include <cstdio> #include <cstdlib> ...
- javascript 核心语言笔记- 2 语法结构
字符集 JavasSript 程序是用 Unicode 字符集 编写的,Unicode 是 ASCII 和 Latin-1 的超集,支持几乎所有在用的语言.ECMAScript 3 要求 JavaSc ...
- 微信开发之Author网页授权
微信开发中,经常有这样的需求:获得用户头像.绑定微信号给用户发信息.. 那么实现这些的前提就是授权! 1.配置安全回调域名: 在微信公众号请求用户网页授权之前,开发者需要先到公众平台官网中的&q ...
- ca 自签名证书 并实现HAProxy https功能
mkdir /etc/ssl/xip.io [root@ha02 haproxy-]# openssl genrsa - Generating RSA bit long modulus ....... ...
- 【CentOS】文件与目录管理
一.文件与目录管理 0.cd--change directory cd - 返回上次的目录 cd ~ 返回到家目录 --对于root用户来说是/root,对于普通用户来说是/home/用户名 cd ...
- 【javascript学习——《javascript高级程序设计》笔记】DOM操作
DOM(文档对象模型)是针对HTML和XML文档的一个API(应用程序编程接口).DOM描绘了一个层次节点树,允许开发人员添加.移除和修改. 1.节点层次 <html> <head& ...
- BZOJ 2115 [Wc2011] Xor ——线性基
[题目分析] 显然,一个路径走过两边是不需要计算的,所以我么找到一条1-n的路径,然后向该异或值不断异或简单环即可. 但是找出所有简单环是相当复杂的,我们只需要dfs一遍,找出所有的环路即可,因为所有 ...