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程序员面试 切忌急功近利(更需要注重以后的发展)
Sep 01 PHP
PHP以及MYSQL日期比较方法
Nov 29 PHP
PHP中的类型约束介绍
May 11 PHP
DEDECMS首页调用图片集里的多张图片
Jun 05 PHP
php生成数字字母的验证码图片
Jul 14 PHP
php基础教程
Aug 26 PHP
php mysqli查询语句返回值类型实例分析
Jun 29 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
Mar 25 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
Laravel使用scout集成elasticsearch做全文搜索的实现方法
Nov 30 PHP
浅谈php://filter的妙用
Mar 05 PHP
PHP实现简易图形计算器
Aug 28 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针对常规模板引擎中与CSS/JSON冲突的解决方法
2014/08/19 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
js返回上一页并刷新的多种实现方法
2014/02/26 Javascript
通过点击jqgrid表格弹出需要的表格数据
2015/12/02 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
Javascript字符串常用方法详解
2016/07/21 Javascript
如何使用headjs来管理和异步加载js
2016/11/29 Javascript
Bootstrap导航条学习使用(二)
2017/02/08 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
30分钟用Node.js构建一个API服务器的步骤详解
2019/05/24 Javascript
微信小程序 如何获取网络状态
2019/07/26 Javascript
[31:00]2014 DOTA2华西杯精英邀请赛5 24 NewBee VS iG
2014/05/25 DOTA
整理Python中的赋值运算符
2015/05/13 Python
浅析python中SQLAlchemy排序的一个坑
2017/02/24 Python
Python文件读写保存操作的示例代码
2018/09/14 Python
Python元组常见操作示例
2019/02/19 Python
值得收藏的10道python 面试题
2019/04/15 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
python rsa实现数据加密和解密、签名加密和验签功能
2019/09/18 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
关于pytorch处理类别不平衡的问题
2019/12/31 Python
python中提高pip install速度
2020/02/14 Python
Python unittest工作原理和使用过程解析
2020/02/24 Python
解析python 中/ 和 % 和 //(地板除)
2020/06/28 Python
阿联酋航空丹麦官方网站:Emirates DK
2019/08/25 全球购物
主键(Primary Key)约束和唯一性(UNIQUE)约束的区别
2013/05/29 面试题
就业自荐信
2013/12/04 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
申报材料格式
2014/12/30 职场文书
资产移交协议书
2016/03/24 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
python实现剪贴板的操作
2021/07/01 Python