天生我才必有用

PHPUnit 方法说明

Posted in PHP    作者:Ray    2008年五月23日

PHPUnit Assertion 方法解释:

1. assertEquals( $val1, $val2, $delta, $message)

如何$val1不等于$val2,测试失败。$delta设定两个数值比较时的误差。

2. assertFalse( $expression, $message)

测试$expression的值是否为False,如果不为False则测试失败。

3. assertTrue( $expression, $message)

测试$expression的值是否为True,如果不为True则测试失败。

4. assertNotNull( $val, $message )

如果$val 为 null,则测试失败。

5. assertNull( $val, $message )

如果$val 不为 null,则测试失败。

6. assertSame( $val1, $val2, $message )

如何$val1等于$val2,同时$val1和$val2必须是相同的数据类型,否则测试失败。

7. assertNotSame( $val1, $val2, $message )

如何$val1不等于$val2,或者$val1和$val2的数据类型不同,则测试失败。

8. assertRegExp( $regexp, $val, $message )

如果$val不能匹配正则表达式$regexp,则测试失败。

9. assertType( $typestring, $val, $message )

如果$val不是$typestring所描述的类型,则测试失败。

10. assertAttributeSame($val, $attribute, $classname, $message)

如果$val和$classname::$attribute.的数值不同或者类型不同,则测试失败。

11. fail()

测试永远返回失败。(主要用于Exception的测试)

以上是一些常用的测试方法,PHPUnit还有不少其他assertion的方法。

最后介绍一下如何进行PHP的Exception的测试判断,PHPUnit中并没有已定制的函数,你必须通过使用try…catch和fail来实现Exception的测试。请参考以下示例:

public function testException() {
    try {
        //应产生异常的函数
        $this->store->addUser( "bob williams", "bob@example.com", "ff" );
    } catch ( Exception $e ) { return; }
    $this->fail("Short password exception expected");
}
标签: