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 图像处理类1
Jun 15 PHP
PHPMailer使用教程(PHPMailer发送邮件实例分析)
Dec 06 PHP
深入php socket的讲解与实例分析
Jun 13 PHP
php cli换行示例
Apr 22 PHP
浅谈PHP调用Webservice思路及源码分享
Jun 04 PHP
PHP调用Linux命令权限不足问题解决方法
Feb 07 PHP
php简单操作mysql数据库的类
Apr 16 PHP
php实现微信公众号无限群发
Oct 11 PHP
PHP YII框架开发小技巧之模型(models)中rules自定义验证规则
Nov 16 PHP
php实现微信发红包
Dec 05 PHP
PHP数据库操作Helper类完整实例
May 11 PHP
php实现用户注册密码的crypt加密
Jun 08 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基础知识:类与对象(2) 自动加载对象
2006/12/13 PHP
PHP Ajax实现页面无刷新发表评论
2007/01/02 PHP
php array_merge函数使用需要注意的一个问题
2015/03/30 PHP
PHP中Array相关函数简介
2016/07/03 PHP
IE8 浏览器Cookie的处理
2009/01/31 Javascript
JavaScript中的style.display属性操作
2013/03/27 Javascript
轻松实现js图片预览功能
2016/01/18 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
angular使用post、get向后台传参的问题实例
2017/05/27 Javascript
Javascript(es2016) import和require用法和区别详解
2017/08/11 Javascript
基于Vue、Vuex、Vue-router实现的购物商城(原生切换动画)效果
2018/01/09 Javascript
javaScript实现游戏倒计时功能
2018/11/17 Javascript
微信小程序如何实现radio单选框单击打勾和取消
2020/01/21 Javascript
Vuex模块化应用实践示例
2020/02/03 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
ElementUI Tree 树形控件的使用并给节点添加图标
2020/02/27 Javascript
Python中__call__用法实例
2014/08/29 Python
Python中有趣在__call__函数
2015/06/21 Python
Python实现FTP上传文件或文件夹实例(递归)
2017/01/16 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
Python实现句子翻译功能
2017/11/14 Python
查看Django和flask版本的方法
2018/05/14 Python
解决Django的request.POST获取不到内容的问题
2018/05/28 Python
Python多进程写入同一文件的方法
2019/01/14 Python
利用Python实现kNN算法的代码
2019/08/16 Python
Html5之webcoekt播放JPEG图片流
2020/09/22 HTML / CSS
Lampenwelt德国:欧洲领先的灯具和照明在线商店
2018/08/05 全球购物
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
幼儿园教师考核制度
2014/02/01 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
2014年个人总结范文
2015/03/09 职场文书
《我和小伙伴》教学反思
2016/02/20 职场文书
小学三年级语文教学反思
2016/03/03 职场文书
2016年社区创先争优活动总结
2016/04/05 职场文书
Python 线程池模块之多线程操作代码
2021/05/20 Python