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合并数组+与array_merge的区别分析
Aug 01 PHP
php入门学习知识点七 PHP函数的基本应用
Jul 14 PHP
浅析php变量修饰符static的使用
Jun 28 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
php object转数组示例
Jan 15 PHP
php解决抢购秒杀抽奖等大流量并发入库导致的库存负数的问题
Jun 19 PHP
php管理nginx虚拟主机shell脚本实例
Nov 19 PHP
PHP遍历XML文档所有节点的方法
Mar 12 PHP
PHP加密解密类实例分析
Apr 20 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
php+redis实现注册、删除、编辑、分页、登录、关注等功能示例
Feb 15 PHP
Laravel使用模型实现like模糊查询的例子
Oct 24 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过滤危险html代码的函数
2008/07/22 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
php使用NumberFormatter格式化货币的方法
2015/03/21 PHP
PHP+Ajax实现验证码的实时验证
2016/07/20 PHP
PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法
2017/08/11 PHP
PHP基于cookie实现统计在线人数功能示例
2019/01/16 PHP
十个优秀的Ajax/Javascript实例网站收集
2010/03/31 Javascript
5种处理js跨域问题方法汇总
2014/12/04 Javascript
JavaScript File API文件上传预览
2016/02/02 Javascript
使用vue.js制作分页组件
2016/06/27 Javascript
Javascript typeof与instanceof的区别
2016/10/18 Javascript
JS实现选定指定HTML元素对象中指定文本内容功能示例
2017/02/13 Javascript
JS 设置Cookie 有效期 检测cookie
2017/06/15 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
Vue侧滑菜单组件——DrawerLayout
2017/12/18 Javascript
Node.js利用console输出日志文件的方法示例
2018/04/27 Javascript
详解vue中使用protobuf踩坑记
2019/05/07 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
[03:06]V社市场总监Dota2项目负责人Erik专访:希望更多中国玩家加入DOTA2
2014/07/11 DOTA
仅用50行Python代码实现一个简单的代理服务器
2015/04/08 Python
Python实现一个简单的验证码程序
2017/11/03 Python
Python字符串格式化%s%d%f详解
2018/02/02 Python
对命令行模式与python交互模式介绍
2018/05/12 Python
Python实现图像的垂直投影示例
2020/01/17 Python
Sephora丝芙兰泰国官方网站:国际知名化妆品购物
2017/11/15 全球购物
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
商场活动策划方案
2014/01/24 职场文书
工作表现自我评价
2014/02/08 职场文书
离婚协议书范本(2014版)
2014/09/28 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
监察建议书
2015/02/04 职场文书
2015年十一国庆节演讲稿
2015/03/20 职场文书
董事会决议范本
2015/07/01 职场文书
java解析XML详解
2021/07/09 Java/Android
java设计模式--原型模式详解
2021/07/21 Java/Android
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android