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 JSON格式数据交互实例代码详解
Jan 13 PHP
php 保留字列表
Oct 04 PHP
解析关于wamp启动是80端口被占用的问题
Jun 21 PHP
PHP模块memcached使用指南
Dec 08 PHP
php绘制圆形的方法
Jan 24 PHP
学习php设计模式 php实现建造者模式
Dec 07 PHP
Laravel框架表单验证操作实例分析
Sep 30 PHP
phpinfo的知识点总结
Oct 10 PHP
laravel 修改记住我功能的cookie保存时间的方法
Oct 14 PHP
PHP实现一个按钮点击上传多个图片操作示例
Jan 23 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 PHP
浅谈Laravel中使用Slack进行异常通知
May 29 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
德生PL330的评价与改造
2021/03/02 无线电
十天学会php(1)
2006/10/09 PHP
php实现约瑟夫问题的方法小结
2015/03/23 PHP
js 禁用只读文本框获得焦点时的退格键
2010/04/25 Javascript
js中判断控件是否存在
2010/08/25 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
javaScript使用EL表达式的几种方式
2014/05/27 Javascript
Javascript添加监听与删除监听用法详解
2014/12/19 Javascript
JavaScript中的replace()方法使用详解
2015/06/06 Javascript
js时间查询插件使用详解
2017/04/07 Javascript
详解如何用VUE写一个多用模态框组件模版
2018/09/27 Javascript
利用Vue实现一个markdown编辑器实例代码
2019/05/19 Javascript
使用uni-app开发微信小程序的实现
2019/12/13 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
vue 全局封装loading加载教程(全局监听)
2020/11/05 Javascript
从零学Python之入门(三)序列
2014/05/25 Python
约瑟夫问题的Python和C++求解方法
2015/08/20 Python
理解Python垃圾回收机制
2016/02/12 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
2016/06/07 Python
python构建深度神经网络(DNN)
2018/03/10 Python
Django使用HttpResponse返回图片并显示的方法
2018/05/22 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
Python用access判断文件是否被占用的实例方法
2020/12/17 Python
CSS3 实现倒计时效果
2020/11/25 HTML / CSS
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
Sneaker Studio罗马尼亚网站:购买运动鞋
2018/11/04 全球购物
德国领先的大尺码和超大尺码男装在线零售商:Bigtex
2019/06/22 全球购物
M.M.LaFleur官网:美国职业女装品牌
2020/10/27 全球购物
儿子婚宴答谢词
2014/01/09 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
2015年话务员工作总结
2015/04/29 职场文书
公司环境卫生管理制度
2015/08/05 职场文书
总结Java对象被序列化的两种方法
2021/06/30 Java/Android
OpenCV绘制圆端矩形的示例代码
2021/08/30 Python
方法汇总:Python 安装第三方库常用
2022/04/26 Python