最小的例子測試

給出一個簡單的 PHP 類:

class Car
{
    private $speed = 0;

    public getSpeed() {
        return $this->speed;
    }

    public function accelerate($howMuch) {
        $this->speed += $howMuch;
    }
}

你可以編寫一個 PHPUnit 測試,通過呼叫公共方法並檢查它們是否按預期執行來測試被測試類的行為:

class CarTest extends PHPUnit_Framework_TestCase
{
    public function testThatInitalSpeedIsZero() {
        $car = new Car();
        $this->assertSame(0, $car->getSpeed());
    }

    public function testThatItAccelerates() {
        $car = new Car();
        $car->accelerate(20);
        $this->assertSame(20, $car->getSpeed());
    }

    public function testThatSpeedSumsUp() {
        $car = new Car();
        $car->accelerate(30);
        $car->accelerate(50);
        $this->assertSame(80, $car->getSpeed());
    }
}

重要部分:

  1. 測試類需要從 PHPUnit_Framework_TestCase 派生。
  2. 每個測試函式名稱都應以字首’test’開頭
  3. 使用 $this->assert... 函式檢查預期值。