話說,使用phpunit仍是處於好奇之心,爲何之前一直沒使用呢?主要是嫌麻煩,小項目,先後端都是本身寫,幾我的就完成的工做,不必弄的那麼麻煩。好了,廢話很少說,讓咱們一塊兒來感覺下phpunit吧!php
假設,咱們有一個項目Demo,Demo是使用Composer作的依賴管理。那麼咱們只須要如下幾步就可完成phpunit的安裝和使用:laravel
1、phpunit安裝:json
一、下載phpunit:wget https://phar.phpunit.de/phpunit.phar
後端
二、修改下載文件的權限:chmod +x phpunit.phar
composer
三、將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/ 下存放。