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语法(4)
Oct 09 PHP
php adodb连接不同数据库
Mar 19 PHP
PHP 变量的定义方法
Jan 26 PHP
php小型企业库存管理系统的设计与实现代码
May 16 PHP
PHP Error与Logging函数的深入理解
Jun 03 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
Aug 22 PHP
PHP 设计模式系列之 specification规格模式
Jan 10 PHP
PHP文件上传之多文件上传的实现思路
Jan 27 PHP
PHP快速推送微信模板消息
Apr 14 PHP
PHP数据分析引擎计算余弦相似度算法示例
Aug 08 PHP
PHP日志LOG类定义与用法示例
Sep 06 PHP
PHP实现与java 通信的插件使用教程
Aug 11 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简单计算页面加载时间的方法
2015/06/19 PHP
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
2013/04/17 Javascript
Jquery实现图片放大镜效果的思路及代码(自写)
2013/10/18 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
javascript实现文本域写入字符时限定字数
2014/02/12 Javascript
基于jquery实现省市联动特效
2015/12/17 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
vue按需引入element Transfer 穿梭框
2017/09/30 Javascript
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
vue axios请求超时的正确处理方法
2018/04/02 Javascript
[02:09]抵达西雅图!中国军团加油!
2014/07/07 DOTA
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
python编程羊车门问题代码示例
2017/10/25 Python
python文本数据相似度的度量
2018/03/12 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
Python自定义一个类实现字典dict功能的方法
2019/01/19 Python
pytorch: Parameter 的数据结构实例
2019/12/31 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
Django之全局使用request.user.username的实例详解
2020/05/14 Python
Python参数传递机制传值和传引用原理详解
2020/05/22 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
2021/01/05 Python
MIRTA官网:手工包,100%意大利制造
2020/02/11 全球购物
请解释流与文件有什么不同
2016/07/29 面试题
体育专业个人的求职信范文
2013/09/21 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
村委会换届选举方案
2014/05/03 职场文书
企业环保标语
2014/06/10 职场文书
搞笑的获奖感言
2014/08/16 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
幼儿园家长心得体会
2016/01/21 职场文书
Html5生成验证码的示例代码
2021/05/10 Javascript
Spring this调用当前类方法无法拦截的示例代码
2022/03/20 Java/Android
浅谈Redis变慢的原因及排查方法
2022/06/21 Redis