Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法


Posted in PHP onMay 28, 2018

本文实例讲述了Windows下wamp php单元测试工具PHPUnit安装及生成日志文件配置方法。分享给大家供大家参考,具体如下:

phpunit下载网站 http://www.phpunit.cn/

一、安装PHPUnit

1.选择版本

我用的是php版本是5.6.25 所以我选择的是PHPUnit 5.7

2.安装过程

① 为 PHP 的二进制可执行文件建立一个目录,例如 C:\bin

② 将 ;C:\bin 附加到 PATH 环境变量中  【将 php的目录 ;E:\wamp64\bin\php\php5.6.25 也附加到 PATH 环境变量中 】

③ 下载phpunit.phar 并将文件保存到 C:\bin\phpunit.phar

④ 打开CMD命令行

⑤ 建立外包覆批处理脚本(最后bin目录下会自动生成 C:\bin\phpunit.cmd 文件):

C:\Users\username> cd C:\bin
C:\bin> echo @php "%~dp0phpunit.phar" %* > phpunit.cmd
C:\bin> exit

⑥ 【注意下载下来一般是phpunitx-y.phar,带版本号的 所以要去掉版本号  修改文件名为 phpunitx.phar】

⑦ 新开一个CMD命令行窗口,确认一下可以在任意路径下执行 PHPUnit:

C:\bin>phpunit --version
PHPUnit 5.7.19 by Sebastian Bergmann and contributors.

二、使用PHPUnit进行测试

在C:\bin 目录下创建文件StackTest.php

<?php
use PHPUnit\Framework\TestCase;
 class StackTest extends TestCase
 {
  public function testPushAndPop()
  {
   $stack = [];
   $this->assertEquals(0, count($stack));
   array_push($stack, 'foo');
   $this->assertEquals('foo', $stack[count($stack)-1]);
   $this->assertEquals(1, count($stack));
   $this->assertEquals('foo', array_pop($stack));
   $this->assertEquals(0, count($stack));
  }
 }
?>

进行测试

C:\bin>phpunit StackTest.php
PHPUnit 5.7.19 by Sebastian Bergmann and contributors.
.                 1 / 1 (100%)
Time: 543 ms, Memory: 13.00MB
OK (1 test, 5 assertions)

三、phpunit 生成三种日志文件的配置方法

#目录结构 windows

bin目录下

├── phpunit.phar
├── phpunit.cmd
├── phpunit.xml
├── build.xml
├── ArrTest.php
└── tmp
      ├── logfile.json
      ├── logfile.tap
      └── logfile.xml

#日志XML文件配置 新建文件 build.xml 放置在根目录

<logging>
<log type="json" target="tmp/1ogfile.json"/>
<log type="junit" target="tmp/logfile.xml" logIncompleteSkipped="false"/>
<log type="tap" target="tmp/logfile.tap"/>
</logging>

#命令

*生成xml格式的日志文件

phpunit --log-junit tmp/logfile.xml ArrTest.php

*生成tap格式的日志文件

phpunit --log-tap tmp/logfile.tap ArrTest.php

*生成json格式的日志文件

phpunit --log-json tmp/logfile.json ArrTest.php

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP 伪静态隐藏传递参数名的四种方法
Feb 22 PHP
php实现的click captcha点击验证码类实例
Sep 23 PHP
PHP面向对象之后期静态绑定功能介绍
May 18 PHP
php需登录的文件上传管理系统
Mar 21 PHP
Yii数据库缓存实例分析
Mar 29 PHP
PHP简单字符串过滤方法示例
Sep 04 PHP
PHP中error_reporting函数用法详细介绍
Jun 11 PHP
完美解决Thinkphp3.2中插入相同数据的问题
Aug 01 PHP
PHP获取数组中指定的一列实例
Dec 27 PHP
php strftime函数获取日期时间(switch用法)
May 16 PHP
PHP将整数数字转换为罗马数字实例分享
Mar 17 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
Feb 15 PHP
PHP测试框架PHPUnit组织测试操作示例
May 28 #PHP
php empty 函数判断结果为空但实际值却为非空的原因解析
May 28 #PHP
PHP排序二叉树基本功能实现方法示例
May 26 #PHP
Thinkphp5+uploadify实现的文件上传功能示例
May 26 #PHP
PHP ADODB实现事务处理功能示例
May 25 #PHP
PHP ADODB实现分页功能简单示例
May 25 #PHP
ThinkPHP5.0框架控制器继承基类和自定义类示例
May 25 #PHP
You might like
php获取后台Job管理的实现代码
2011/06/10 PHP
PHP MySQL应用中使用XOR运算加密算法分享
2011/08/28 PHP
第二章 PHP入门基础之php代码写法
2011/12/30 PHP
CodeIgniter图像处理类的深入解析
2013/06/17 PHP
php后门URL的防范
2013/11/12 PHP
PHP curl伪造IP地址和header信息代码实例
2015/04/27 PHP
php实现的网页版剪刀石头布游戏示例
2016/11/25 PHP
PHP中使用mpdf 导出PDF文件的实现方法
2018/10/22 PHP
解决Laravel5.2 Auth认证退出失效的问题
2019/10/14 PHP
页面只有一个text的时候,回车自动submit的解决方法
2010/08/12 Javascript
jquery获取table中的某行全部td的内容方法
2013/03/08 Javascript
Javascript 浮点运算的问题分析与解决方法
2013/08/27 Javascript
javascript实现的DES加密示例
2013/10/30 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
JS仿QQ好友列表展开、收缩功能(第一篇)
2017/07/07 Javascript
js实现日期显示的一些操作(实例讲解)
2017/07/27 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
js中值引用和地址引用实例分析
2019/06/21 Javascript
单线程JavaScript实现异步过程详解
2020/05/19 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
浅析Python中的for 循环
2016/06/09 Python
Python类的动态修改的实例方法
2017/03/24 Python
利用Python暴力破解zip文件口令的方法详解
2017/12/21 Python
Python列表解析配合if else的方法
2018/06/23 Python
python多线程分块读取文件
2019/08/29 Python
利用Pytorch实现简单的线性回归算法
2020/01/15 Python
python反编译教程之2048小游戏实例
2021/03/03 Python
俄罗斯设计师家具购物网站:The Furnish
2019/12/01 全球购物
了解AppleTalk协议吗
2014/04/01 面试题
大学生简单自荐信
2013/11/10 职场文书
工作态度不端正检讨书
2014/10/04 职场文书
推普标语口号大全
2015/12/26 职场文书
详解CSS玩转图片Base64编码
2021/05/25 HTML / CSS
Python上下文管理器Content Manager
2021/06/26 Python
DE1103使用报告
2022/04/05 无线电