1、配置單元測試目錄:
(1)autoload.php
<?php 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);
(2)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); } }
(3)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()); } }
2、配置測試框架
3、建立單元測試模板:
4、運行測試:
5、測試結果
6、phpunit中相關的幾個斷言:
AssertTrue/AssertFalse 斷言是否為真值還是假 AssertEquals 判斷輸出是否和預期的相等 AssertGreaterThan 斷言結果是否大於某個值,同樣的也有LessThan(小於),GreaterThanOrEqual(大於等於), LessThanOrEqual (小於等於). AssertContains 判斷輸入是否包含指定的值 AssertType 判斷是否屬於指定類型 AssertNull 判斷是否為空值 AssertFileExists 判斷文件是否存在 AssertRegExp 根據正則表達式判斷
7、注意事項
(1)測試用例要引入phpunit
use PHPUnit\Framework\TestCase;
(2)測試類要繼承TestCase
class MoneyTest extends TestCase
參考:https://blog.51cto.com/12173069/2317104