php unit

Posted by 行如风 Blog on June 20, 2016

依赖关系:

用 @depends 标注来表达测试方法之间的依赖关系。可以有多重依赖。

数据供给器:

1
2
3
4
5
6
7
1.用 @dataProvider 标注来指定使用哪个数据供给器方法。
数据供给器方法必须声明为 public,其返回值要么是一个数组,其每个元素也是数组;
要么是一个实现了 Iterator 接口的对象,在对它进行迭代时每步产生一个数组。
每个数组都是测试数据集的一部分,将以它的内容作为参数来调用测试方法。
2.如果测试同时从 @dataProvider 方法和一个或多个 @depends 测试接收数据,
那么来自于数据供给器的参数将先于来自所依赖的测试的。
来自于所依赖的测试的参数对于每个数据集都是一样的

对异常进行测试

1
2
 expectException() 方法外,还有 expectExceptionCode()、expectExceptionMessage() 和 expectExceptionMessageRegExp() 方法可以用于为被测代码所抛出的异常建立预期。
也可以用 @expectedException、@expectedExceptionCode、@expectedExceptionMessage 和 @expectedExceptionMessageRegExp 标注来为被测代码所抛出的异常建立预期。

对 PHP 错误进行测试

1
2
3
默认情况下,PHPUnit 将测试在执行中触发的 PHP 错误、警告、通知都转换为异常。利用这些异常,就可以,比如说,预期测试将触发 PHP 错误
PHP 的 error_reporting 运行时配置会对 PHPUnit 将哪些错误转换为异常有所限制。如果在这个特性上碰到问题,请确认 PHP 的配置中没有抑制想要测试的错误类型。
PHPUnit_Framework_Error_Notice 和 PHPUnit_Framework_Error_Warning 分别代表 PHP 通知与 PHP 警告。