#### 高级功能
你是否已经厌烦了在每一个测试方法命名前面加一个`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)
~~~