#### 高級功能
你是否已經厭煩了在每一個測試方法命名前面加一個`test`,是否因為只是調用的參數不同,卻要寫多個測試用例而糾結?我最喜歡的高級功能,現在隆重推薦給你,叫做框架生成器
~~~
<?php
class Calculator
{
public function add($a, $b)
{
return $a + $b;
}
}
?>
~~~
命令行啟動測試用例
~~~
phpunit --skeleton Calculator
PHPUnit 3.2.10 by Sebastian Bergmann.
Wrote test class skeleton for Calculator to CalculatorTest.php.
~~~
簡單么?但是其實沒有什么意義,因為沒有測試數據,怎樣加載測試數據?
~~~
<?php
class Calculator
{
/**
* @assert (0, 0) == 0
* @assert (0, 1) == 1
* @assert (1, 0) == 1
* @assert (1, 1) == 2
*/
public function add($a, $b)
{
return $a + $b;
}
}
?>
~~~
原始類中的每個方法都將會進行@assert注解的檢測。這些被轉變為測試代碼,將會像這樣
~~~
/**
* Generated from @assert (0, 0) == 0.
*/
public function testAdd() {
$o = new Calculator;
$this->assertEquals(0, $o->add(0, 0));
}
~~~
下面是運行生成的測試用例類的輸出。
~~~
phpunit CalculatorTest
PHPUnit 3.2.10 by Sebastian Bergmann.
....
Time: 0 seconds
OK (4 tests)
~~~