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新手上路(八)
Oct 09 PHP
关于在php.ini中添加extension=php_mysqli.dll指令的说明
Jun 14 PHP
PHP 获取远程文件内容的函数代码
Mar 24 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
Dec 16 PHP
php中并发读写文件冲突的解决方案
Oct 25 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
May 06 PHP
PHP实现随机生成水印图片功能
Mar 22 PHP
php获取数据库中数据的实现方法
Jun 01 PHP
yii2中LinkPager增加总页数和总记录数的实例
Aug 28 PHP
Smarty模板语法详解
Jul 20 PHP
PHP 实现缩略图
Mar 09 PHP
php去除数组中为0的元素的实例分析
Nov 17 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
资料注册后发信小技巧
2006/10/09 PHP
基于mysql的bbs设计(三)
2006/10/09 PHP
php判断字符以及字符串的包含方法属性
2008/08/30 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
Sample script that deletes a SQL Server database
2007/06/16 Javascript
JavaScript Event学习第十章 一些可替换的事件对
2010/02/10 Javascript
用nodejs访问ActiveX对象,以操作Access数据库为例。
2011/12/15 NodeJs
JS实现控制表格单元格垂直对齐的方法
2015/03/30 Javascript
深入理解js数组的sort排序
2016/05/28 Javascript
javascript封装addLoadEvent实现页面同时加载执行多个函数的方法
2016/07/25 Javascript
Vue.js学习示例分享
2017/02/05 Javascript
fetch 使用及如何接收JS传值
2017/11/11 Javascript
JavaScript日期工具类DateUtils定义与用法示例
2018/09/03 Javascript
微信小程序后台持续定位功能使用详解
2019/08/23 Javascript
微信小程序仿淘宝热搜词在搜索框中轮播功能
2020/01/21 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
详解vue组件之间的通信
2020/08/30 Javascript
Python黑帽编程 3.4 跨越VLAN详解
2016/09/28 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
Python聊天室程序(基础版)
2018/04/01 Python
python贪婪匹配以及多行匹配的实例讲解
2018/04/19 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
Python随机数函数代码实例解析
2020/02/09 Python
关于Tensorflow 模型持久化详解
2020/02/12 Python
使用 django orm 写 exists 条件过滤实例
2020/05/20 Python
python对execl 处理操作代码
2020/06/22 Python
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
生物制药自我鉴定
2014/01/25 职场文书
小学开学标语
2014/07/01 职场文书
青年岗位能手事迹材料
2014/12/23 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
倡议书格式及范文
2015/04/29 职场文书
学前教育见习总结
2015/06/23 职场文书
python实现双链表
2022/05/25 Python