phpunit 入门

话说,使用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/ 下存放。

时间: 2024-10-01 03:04:48

phpunit 入门的相关文章

PHPUnit 入门案例

了解PHPUnit 本案例是关于创建三角形的一个单元测试入门案例,在netbeans环境中完成,关于在此环境中搭建phpunit这里不再描述,可以参考以下资料完成搭建工作: http://www.cnblogs.com/x3d/p/phpunit-in-netbeans8.html https://phpunit.de/manual/current/zh_cn/installation.html https://github.com/sebastianbergmann/phpunit-skele

phper技能树

最近在网上看到关于phper的技能树,感觉对自己很有帮助,希望对大家也有所帮助 LAMPER技能树 非技术 工作流程 业务理解 时间管理 沟通交流 行业文化历史 浪潮之巅 客户端编程 1 HTML 历史 规范和标准 HTML <!DOCTYPE>标签 HTML 元素与合法的Doctype 维基百科 HTML 常用标签和属性 W3CSchool HTML教程 DOM BOM W3CSchool DOM教程 W3CSchool BOM教程 css 语法,继承规则 选择器 常用样式属性,框模型 布局

PHP Unit资料收集

ThinkPHP Unit https://github.com/gaoermai/ThinkPHPUnit PHPUnit入门http://blog.csdn.net/fly_heart_yuan/article/details/6998603 PHP 的命令行模式http://www.phpddt.com/manual/php/res/features.commandline.html php cli命令 自定义参数传递http://www.cnblogs.com/zcy_soft/arch

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

16:45 2015/12/8phpunit测试学习 1:一点简单的扼要有用的东西的总结  一点入门认识 具体的入门安装和入门实践请参照文中的推荐博客或网上其他博客推荐博客,我感觉这几篇博客写得很不错,虽然一和二可以结合在一起,内容并不多 且给新手更容易带来学习信心:安装建议参照我的另一篇安装博客,因为当时我是按照这种方式失败的,文中提及网 络原因导致失败,我当时显示的是安装的某个路径似乎没有维护了,那个url已经不存 在了(所以我也不知道是网络原因还是真的那个路径不存在了)(PHP教程:PHP

Junit(3)JUnit和单元测试入门简介

1.几个相关的概念 白盒测试--把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人员是公开的. 回归测试--软件或环境的修复或更正后的"再测试",自动测试工具对这类测试尤其有用. 单元测试--是最小粒度的测试,以测试某个功能或代码块.一般由程序员来做,因为它需要知道内部程序设计和编码的细节. JUnit --是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.他是用于单元测试框架体系xUnit的一个实例(用于java语言).主要用于白盒测试,回归测试. 2.

PHP(Zend Studio)入门视频

视频地址: http://www.ev-get.com/article/2014/5/9/20962.html (去掉地址中的减号-:可以看视频) Zend Studio教学视频之Zend Studio入门 本视频主要介绍Zend Studio的工作流,包括: 创建新php项目/文件/元素 工作流帮助 重构/格式 查找与替换 Zend Studio教学视频之Zend Studio调试PHP 视频描述了如何在zendstudio调试php文件和应用程序,包括: 创建新php项目/文件 添加断点 调

PHPUnit简介及使用

一.PHPUnit是什么? 1.它是一款轻量级的PHP测试框架,地址:http://www.phpunit.cn 2.手册:http://www.phpunit.cn/manual/5.7/zh_cn/installation.html 二.为什么要用PHPUnit? 1.可以通过命令操控测试脚本 2.可以测试性能 3.可以测试代码覆盖率 4.可以自动化的更新测试用例的参数数据 5.各种格式的日志 三.PHPUnit使用规则 1. 一般被测试类的后面加上"Test",比如要测试的类为A

Yii Framework入门教程

1    Yii是什么? 什么是Yii,Yii的官方解释可以概括为以下几点: Yii是一个高性能.组件化.面向大型Web应用的PHP开发框架.1. Yii的设计完全面向对象,基于完整的MVC编程思想:2. Yii的发音类似于英文Yee[ji:],或者汉语普通话的“易”:3. Yii是开源软件,基于BSD许可发布.4. 更多信息可参考Yii官方网站: http://www.yiiframework.com/   2    MVC是什么? 上文中提到MVC,到底什么是MVC呢: MVC -> M-V

R语言快速上手入门

R语言快速上手入门 课程学习网址:http://www.xuetuwuyou.com/course/196 课程出自学途无忧网:http://www.xuetuwuyou.com 课程简介 本教程深入浅出地讲解如何使用R语言玩转数据.课程中涵盖R语言编程的方方面面,内容涉及R对象的类型.R的记号体系和环境系统.自定义函数.if else语句.for循环.S3类R的包系统以及调试工具等.本课程还通过示例演示如何进行向量化编程,从而对代码进行提速并尽可能地发挥R的潜能.本课程适合立志成为数据科学家的