【夯实PHP基础】PHPUnit -- PHP测试框架
2018-06-22 05:09:37来源:未知 阅读 ()
本文地址
分享提纲:
1.概述
2.安装
3.编写第一个测试用例
4.PHPUnit高级
5.参考
1.概述
1)【测试框架】
它是一款轻量级的PHP测试框架,是一个xUnit的体系结构的单元测试框架。复杂的项目,通过单元测试能够快速排查bug,有效减少bug的产生。简单的项目,使用php自带的var_dump()
、print_r()
也能很方便的调试bug。PHPUnit通过运行测试用例里的断言(例如判断返回结果不为空),检查代码是否符合预期。
2.安装
安装方式有两种。一种是使用phar包,一种是使用Composer。
mac下的安装请参考 http://blog.csdn.net/u013166311/article/details/52622560
(可以下载低版本的phpunit wget https://phar.phpunit.de/phpunit-4.0.14.phar)
于是打开终端,先pear version 验证是否安装了pear。
如果没有安装$sudo PHP /usr/lib/php/install-pear-nozlib.phar -d /usr/local/lib/php -b /usr/local/bin
用$ pear version检测安装成功
$ sudo pear upgrade-all 更新。
最后用以下命令安装成功:
$ wget https://phar.phpunit.de/phpunit-4.0.14.phar
$ chmod +x phpunit.phar
$ sudo mv phpunit.phar /usr/local/bin/phpunit
2.1)使用phar包
最新版的稳定版phar包是5.7,下载地址 https://phar.phpunit.de/phpunit.phar
phar5.7发布于2016年12月2日,于2018年2月2日结束支持。
PHPUnit 5.7 支持 PHP 5.6, PHP 7.0, 和 PHP 7.1。
注意:PHP的版本比较低,可以下载低版本的 phpunit,例如 wget https://phar.phpunit.de/phpunit-4.0.14.phar
运行方法:
# 通用 php phpunit.phar --version # linux chmod +x phpunit.phar sudo mv phpunit.phar /usr/local/bin/phpunit phpunit --version
可以查看版本号。
2.2)使用Composer
如果用 Composer 来管理项目的依赖关系,只要在项目的composer.json 文件中简单地加上对 phpunit/phpunit
的依赖关系即可。下面是一个最小化的 composer.json
文件的例子,只定义了一个对 PHPUnit 5.7
的开发时依赖:
{ "require-dev": { "phpunit/phpunit": "5.5.*" } }
要通过 Composer
完成系统级的安装,可以运行:
composer global require "phpunit/phpunit=5.5.*"
请确保 path 变量中包含有 ~/.composer/vendor/bin/
。
3.编写第一个测试用例
3.1)新建文件夹Testcase
,编写SayHello.php:
<?php class SayHello{ public function printHello(){ echo 'Hello'; return 'Hello'; } } ?>
3.2)新建测试用例SayHelloTest.php
<?php require_once 'SayHello.php'; class SayHelloTest extends PHPUnit_Framework_TestCase { public function setUp(){ } public function tearDown(){ } public function testConnectionIsValid(){ $hi = new SayHello(); $this->assertTrue($hi->printHello() == 'Hello'); } }
编写完成后,切换到phpunit.phar所在目录命令行执行:
$ php phpunit.phar Testcase/SayHelloTest.php
输出结果:
PHPUnit 5.7.4 by Sebastian Bergmann and contributors. . 1 / 1 (100%)Hello Time: 130 ms, Memory: 10.00MB OK (1 test, 1 assertion)
结果表明:
测试通过,1个测试方法,1个断言,没有失败。
这里注意的是:
1、所有以Test结尾的类均为测试用例;
2、所有以test开头的方法均是测试方法,会自动运行;
3、setUp是每个测试用例最先运行的方法,tearDown是每个测试用例最后运行的方法;
4、assertTrue
用于判断结果是否为true。
4.PHPUnit高级
4.1) 模拟对象MOCK
4.2) 一些常识
@test
标注将其标记为测试方法@depends
标注来表达测试方法之间的依赖关系: 被依赖的函数的返回值会被当做依赖着的输入参数
5.参考
5.0)【好】PHPUnit手册
5.1)开始使用 PHPUnit – PHP测试框架
5.2)web3d/TPUnit: ThinkPHP PHPUnit框架集成
5.3)[PHP]PHPUnit安装配置及样例 | CoinIdea的技术分享博客
5.4)《xUnit Test Patterns》学习笔记系列 - CoderZh - 博客园
5.5)【好】PHPUnit笔记
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- PHP写UltraEdit插件脚本实现方法 2020-03-29
- php 带逗号千位符数字的处理方法 2020-03-28
- PHP三元运算符的结合性介绍 2020-03-28
- PHP静态延迟绑定和普通静态效率的对比 2020-03-28
- 基于php流程控制语句和循环控制语句 2020-03-28
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash