话说,使用phpunit还是处于好奇之心,为什么以前一直没使用呢?主要是嫌麻烦,小项目,前后端都是自己写,几个人就完成的工作,没必要弄的那么麻烦。好了,废话不多说,让我们一起来感受下phpunit吧!

假设,我们有一个项目Demo,Demo是使用Composer做的依赖管理。那么我们只需要以下几步就可完成phpunit的安装和使用:

一、phpunit安装:

  1、下载phpunit:wget https://phar.phpunit.de/phpunit.phar

  2、修改下载文件的权限:chmod +x phpunit.phar

  3、将phpunit设置为全局变量:mv phpunit.phar /usr/local/bin/phpunit

  4、查看phpunit版本:phpunit -V

二、项目Demo中引入phpunit组件:

  1、打开composer.json文件,添加"require-dev": {"phpunit/phpunit": "5.7.*"},然后composer install (等同于 composer require "phpunit/phpunit:5.7.*")

  2、执行完步骤1以后,phpunit组件将会存在于vendor/phpunit/phpunit

  3、phpunit的文件目录:

├── phpunit.xml
├── src
│ ├── autoload.php
│ └── PhpUnitClass.php
└── tests
└── PhpUnitClassTest.php

  4、phpunit.xml 为核心配置文件,暂不介绍,默认即可

  5、src中存放真实的服务类,当然一般我们都会把项目的服务类放到其他目录

  6、tests存放所有的测试类,所有测试类必须继承PHPUnit\Framework\TestCase;所有测试类命名最好为*Test.php;测试类中的所有方法必须为test*

  7、一个简单的phpunit例子:

  服务类,PhpUnitClass:

namespace AppService;

class PhpUnitClass
{
private $att;
public function __construct($at)
{
echo "phpunitclass init";
$this->att=$at;
} public function say(){
return "say";
} }

  单元测试类,PhpUnitClassTest:

class PhpUnitClassTest extends \PHPUnit\Framework\TestCase
{
public function testPhpUnitClassInit(){
$unit=new \AppService\PhpUnitClass("init");
$this->assertAttributeEquals("init","att",$unit);
}
public function testPhpUnitClassSay(){
$unit=new \AppService\PhpUnitClass("init");
$this->assertEquals("say",$unit->say());
}
}

  8、cd进入目录tests,在终端执行:phpunit PhpUnitClassTest 即可执行单元测试

以上,便是一个phpunit简单的入门总结,方便以后查阅。

laravel项目自带phpunit,所有的测试类在根目录tests/ 下存放。

phpunit 入门的更多相关文章

  1. PHPUnit入门

    PHPUnit是PHP语言的单元测试框架.工具,xunit单元测试工具系列成员之一,可以单独运行在Linux或windows系统下面,也可以集成到zend studio等IDE工具中. 工具下载:ht ...

  2. 用phpUnit入门TDD

    用phpunit实战TDD系列 从一个银行账户开始 假设你已经 安装了phpunit. 我们从一个简单的银行账户的例子开始了解TDD(Test-Driven-Development)的思想. 在工程目 ...

  3. PHP Unit资料收集

    ThinkPHP Unit https://github.com/gaoermai/ThinkPHPUnit PHPUnit入门http://blog.csdn.net/fly_heart_yuan/ ...

  4. phpunit测试学习 1:一点简单的扼要有用的东西的总结 一点入门认识

    16:45 2015/12/8phpunit测试学习 1:一点简单的扼要有用的东西的总结  一点入门认识 具体的入门安装和入门实践请参照文中的推荐博客或网上其他博客推荐博客,我感觉这几篇博客写得很不错 ...

  5. php单元测试入门教程phpunit详解

    本文档提供了一些phpunit官方教程没有提到的信息,帮助初学者快速了解php单元测试,在phpunit官网提供了详细的中文教程,可选多种格式下载 phpunit官网地址:https://phpuni ...

  6. 【技术博客】 Laravel 5.1单元测试(PHPUnit)入门

    目录 Laravel 5.1单元测试(PHPUnit)入门 简介 安装与配置 1. 安装 2. 配置 编写测试样例 1. 新建测试样例 2. 编写函数的测试 3. 编写Web功能测试 运行测试与查看结 ...

  7. phpunit学习 3:

    16:17 2015/12/11phpunit学习 3:单元测试的大概步骤是:编写待测试类,编写测试用例类,编写测试类,测试.1.如果你有多个类,多个测试类的test类,那么可以编写一个AllTest ...

  8. zend studio使用入门

    使用zend studio8建立项目 使用PHP开发工具zend studio8进行PHP网站开发,就需要建立(导入)相应的项目,方法如下:右键左侧Workspace,选择New | PHP Proj ...

  9. PHPUnit简介及使用

    一.PHPUnit是什么? 1.它是一款轻量级的PHP测试框架,地址:http://www.phpunit.cn 2.手册:http://www.phpunit.cn/manual/5.7/zh_cn ...

随机推荐

  1. MongoDB基本文件操作

    MongoDB中主要的文件操作有put.get.list.search几种.能够非常方便地进行文件存储于查找,下面是一个简单的演示样例. 1.利用dd命令生成要求大小随机文件  2.使用put命令将生 ...

  2. IE对CSS样式的数量和大小的限制

    项目中遇到的问题,css写的样式无法渲染,各种百度后发现大概是这个原因: IE对CSS样式的数量和大小的限制 文档中只有前31个link或style标记关联的CSS能够应用. 从第32个开始,其标记关 ...

  3. 【Excle数据透视表】如何隐藏数据透视表中行字段的”+/-”按钮

    如下图:新建的数据透视表中有存在"+/-"符号,导致数据透视图不太美观,那么怎么处理呢? 解决方案 单击"显示"组中的"+/-"按钮显示或隐 ...

  4. 【Python】ModuleNotFoundError: No module named 'matplotlib.pyplot'

    安装好matplotlib后,很激动的建立了一个文件夹matplotlib,并且在其下面建立了,mpl_squraes.py文件,代码编辑完成以后,点击运行,报错如下: 仔细分析了之后,发现是文件夹名 ...

  5. HttpRuntime Cache用法及参数解释

    自己用到的: HttpRuntime.Cache.Insert("SchoolBindKcChangci", SchoolBindKcChangci, null, DateTime ...

  6. 转python版本的curl工具pycurl学习

    一 pycurl介绍 pycurl模块为libcurl库提供了一个python接口.libcurl是一个开源免费且方便快捷的基于客户端的url传输库,支持FTP,HTTP,HTTPS,IMAP,IMA ...

  7. 多媒体开发之rtp打包---打包中的FU-A分包方式说明

    继上篇rtp中的时间戳和负载类型之后,升入到了nalu的分片打包问题,这里做下笔记 (1)fu-a的打包格式 1.基于RTP协议的打包及解包 (1)单个NAL打包 H.264NALU单元常由[star ...

  8. 阿里云Opensearch数据类型

    阿里云主要支持以下数据类型,详情参考:https://help.aliyun.com/document_detail/29121.html 类型 说明 INT int64整型 INT_ARRAY in ...

  9. NDK以及C语言基础语法(二)

    一.字符串类:(属于类类型) -String (在C++中才有) 使用之前必学引入String 类型: 引入String头文件(系统的头文件): #include <string>   p ...

  10. 通用分页(Jquery版)

    1.简单定义下样式 <style type="text/css"> .fanye { color: blue; margin-right: 15px; text-dec ...