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你的验证码安全码?
Jan 02 PHP
php数组函数序列之prev() - 移动数组内部指针到上一个元素的位置,并返回该元素值
Oct 31 PHP
PHP管理内存函数 memory_get_usage()使用介绍
Sep 23 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Jan 06 PHP
VIM中设置php自动缩进为4个空格的方法详解
Jun 14 PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
Jul 03 PHP
thinkphp验证码显示不出来的解决方法
Mar 29 PHP
使用PHPExcel操作Excel用法实例分析
Mar 26 PHP
ThinkPHP安装和设置
Jul 27 PHP
浅谈使用PHP开发微信支付的流程
Oct 04 PHP
汇总PHPmailer群发Gmail的常见问题
Feb 24 PHP
详解Laravel视图间共享数据与视图Composer
Aug 04 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
一些操作和快捷键的理解和讨论
2020/03/04 星际争霸
PHP语法速查表
2007/01/02 PHP
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
PHP+SQL 注入攻击的技术实现以及预防办法
2010/12/29 PHP
php基础教程 php内置函数实例教程
2012/08/21 PHP
一张表搞清楚php is_null、empty、isset的区别
2015/07/07 PHP
PHP格式化MYSQL返回float类型的方法
2016/03/30 PHP
在PHP中实现使用Guzzle执行POST和GET请求
2019/10/15 PHP
基于JQuery实现滚动到页面底端时自动加载更多信息
2014/01/31 Javascript
js使用removeChild方法动态删除div元素
2014/08/01 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
jQuery简单注册和禁用全局事件的方法
2016/07/25 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
老生常谈JavaScript中的this关键字
2016/10/01 Javascript
从零学习node.js之搭建http服务器(二)
2017/02/21 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
video.js 一个页面同时播放多个视频的实例代码
2018/11/27 Javascript
layui自定义验证,用ajax查询后台是否有重复数据,form.verify的例子
2019/09/06 Javascript
Vue.js组件通信之自定义事件详解
2019/10/19 Javascript
vue中使用echarts的示例
2021/01/03 Vue.js
[01:24]2014DOTA2 TI第二日 YYF表示这届谁赢都有可能
2014/07/11 DOTA
Python3访问并下载网页内容的方法
2015/07/28 Python
Linux下为不同版本python安装第三方库
2016/08/31 Python
关于Python-faker的函数效果一览
2019/11/28 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
matplotlib之多边形选区(PolygonSelector)的使用
2021/02/24 Python
5个你不知道的HTML5的接口介绍
2013/08/07 HTML / CSS
C#笔试题
2015/07/14 面试题
英语专业学生个人求职信
2014/01/28 职场文书
道路交通安全实施方案
2014/03/12 职场文书
绿色学校实施方案
2014/03/31 职场文书
实习单位鉴定评语
2014/04/26 职场文书
写给孩子的新学期寄语
2015/02/27 职场文书
高中团支书竞选稿
2015/11/21 职场文书
Docker部署Mysql8的实现步骤
2022/07/07 Servers