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/ 下存放。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM