phpunit 入门

话说,使用phpunit仍是处于好奇之心,为何之前一直没使用呢?主要是嫌麻烦,小项目,先后端都是本身写,几我的就完成的工做,不必弄的那么麻烦。好了,废话很少说,让咱们一块儿来感觉下phpunit吧!php

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

1、phpunit安装:json

  一、下载phpunit:wget https://phar.phpunit.de/phpunit.phar后端

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

  三、将phpunit设置为全局变量:mv phpunit.phar /usr/local/bin/phpunit单元测试

  四、查看phpunit版本:phpunit -V测试

2、项目Demo中引入phpunit组件:ui

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

  二、执行完步骤1之后,phpunit组件将会存在于vendor/phpunit/phpunitspa

  三、phpunit的文件目录:

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

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

  五、src中存放真实的服务类,固然通常咱们都会把项目的服务类放到其余目录

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

  七、一个简单的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());
    }
}

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

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

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

相关文章
相关标签/搜索