phpunit自定義用法

  • 下載:
    wget  https://phar.phpunit.de/phpunit-7.0.phar
    chmod  +x  phpunit-7.0.phar
    mv  phpunit-7.0.phar  /usr/local/bin/phpunit
    phpunit  --version

    phpunit自定義用法

  • 創建文件夾:
    mkdir  src
    mkdir  tests
  • 創建測試文件:
    a. 自動加載:
    vim src/autoload.php
    <?php
    /*
    @desc:自動加載帶命名空間的類的函數
    @param dir 需要註冊自動加載的文件夾
    */
    function autoloader($dir){
    spl_autoload_register(function($name) use ($dir){
        $name = str_replace('\\',DIRECTORY_SEPARATOR,$name);
        require $dir.DIRECTORY_SEPARATOR.$name.'.php';
    });
    }
    define('ROOT',__DIR__);
    autoloader(ROOT);

    b. 測試類:
    vim src/Money.php

    <?php
    class Money
    {
    private $amount;
    public function __construct($amount)
    {
        $this->amount = $amount;
    }
    public function getAmount()
    {
        return $this->amount;
    }
    public function negate()
    {
        return new Money(-1*$this->amount);
    }
    }

    c. 測試文件:
    vim tests/MoneyTest.php

    <?php
    use PHPUnit\Framework\TestCase;
    class MoneyTest extends TestCase
    {
    public function testCanBeNegated()
    {
        $a = new Money(1);
        $b = $a->negate();
        $this->assertEquals(-1, $b->getAmount());
    }
    }
  • 命令行測試:
    phpunit  --bootstrap  src/autoload.php  tests/MoneyTest.php

    phpunit自定義用法

  • 測試文件測試:
    a. 創建配置文件:
    vim phpunit.xml
    <phpunit bootstrap="src/autoload.php">
    <testsuites>
        <testsuite name="money">
            <directory>tests</directory>
        </testsuite>
    </testsuites>
    </phpunit>

    b. 執行命令:

    phpunit tests/MoneyTest

    phpunit自定義用法

  • 發表評論
    所有評論
    還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
    相關文章