文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>第 22 章 PHPUnit API - PHPUnit_Framework_Assert

第 22 章 PHPUnit API - PHPUnit_Framework_Assert

时间:2008-04-09  来源:hshq_cn


                PHPUnit_Framework_Assert
      为PHPUnit编写的多数测试用例间接地衍生自PHPUnit_Framework_Assert类,它含有自动地检查值并报告差异的方法。这些方法被声明为static,因此你可以在你的方法中编写契约式设计风格的断言并使它们经由PHPUnit报告(
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#api.assert.examples.Sample.php]范例 22.1[/url]
)。
   
范例 22.1: 契约式设计风格的断言
require_once 'PHPUnit/Framework.php';

class Sample
{
    public function aSampleMethod($object)
    {
        PHPUnit_Framework_Assert::assertNotNull($object);
    }
}

$sample = new Sample;
$sample->aSampleMethod(NULL);
?>
Fatal error: Uncaught exception 'PHPUnit_Framework_ExpectationFailedException'
with message 'Failed asserting that  is not identical to .'
      然而,多数时候,你将在测试内部检查断言。
   
      每个断言方法都有两个变体:其一接受一个将同错误一起显示的消息参数,另一个不是。典型地,当显示失败时,可选的消息也被显示,这使调试更加容易。
   
范例 22.2: 带消息使用断言
require_once 'PHPUnit/Framework.php';

class MessageTest extends PHPUnit_Framework_TestCase
{
    public function testMessage()
    {
        $this->assertTrue(FALSE, 'This is a custom message.');
    }
}
?>
      下面的例子显示当你运行来自
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#api.assert.examples.MessageTest.php]范例 22.2[/url]
的带消息使用断言的测试testMessage()时的输出:
   
phpunit MessageTest
PHPUnit 3.2.10 by Sebastian Bergmann.
F
Time: 0 seconds
There was 1 failure:
1) testMessage(MessageTest)
This is a custom message.
Failed asserting that  is true.
/home/sb/MessageTest.php:8
FAILURES!
Tests: 1, Failures: 1.
      
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#api.assert.tables.assertions]表 22.1[/url]
显示断言的所有变体。
   
       
        表 22.1. 断言
       
       
       
        断言含义
       
void assertArrayHasKey(mixed $key, array $array)
  如果$array中没有$key则报错。
void assertArrayHasKey(mixed $key, array $array, string $message)
  如果$array中没有$key则报$message标识的错误。
void assertClassHasAttribute(string $attributeName, string $className)
  如果$className::attributeName不存在则报错。
void assertClassHasAttribute(string $attributeName, string $className, string $message)
  如果$className::attributeName不存在则报$message标识的错误。
void assertClassHasStaticAttribute(string $attributeName, string $className)
  如果$className::attributeName不存在或非static则报错。
void assertClassHasStaticAttribute(string $attributeName, string $className, string $message)
  如果$className::attributeName不存在或非static则报$message标识的错误。
void assertContains(mixed $needle, array $haystack)
  如果$needle不是$haystack的元素则报错。
void assertContains(mixed $needle, array $haystack, string $message)
  如果$needle不是$haystack的元素则报$message标识的错误。
void assertContains(mixed $needle, Iterator $haystack)
  如果$needle不是$haystack的元素则报错。
void assertContains(mixed $needle, Iterator $haystack, string $message)
  如果$needle不是$haystack的元素则报$message标识的错误。
void assertContains(string $needle, string $haystack)
  如果$needle不是$haystack的子字符串则报错。
void assertContains(string $needle, string $haystack, string $message)
  如果$needle不是$haystack的子字符串则报$message标识的错误。
assertContainsOnly(string $type, array $haystack)
  如果$haystack并非只含有$type类型的变量则报错。
assertContainsOnly(string $type, array $haystack, NULL, string $message)
  如果$haystack并非只含有$type类型的变量则报$message标识的错误。
assertContainsOnly(string $type, array $haystack, bool $isNativeType)
  如果$haystack并非只含有$type类型的变量则报错。$isNativeType是指示$type是否PHP原生类型的标志。
assertContainsOnly(string $type, array $haystack, bool $isNativeType, string $message)
  如果$haystack并非只含有$type类型的变量则报$message标识的错误。$isNativeType是指示$type是否PHP原生类型的标志。
assertContainsOnly(string $type, Iterator $haystack)
  如果$haystack并非只含有$type类型的变量则报错。
assertContainsOnly(string $type, Iterator $haystack, NULL, string $message)
  如果$haystack并非只含有$type类型的变量则报$message标识的错误。
assertContainsOnly(string $type, Iterator $haystack, bool $isNativeType)
  如果$haystack并非只含有$type类型的变量则报错。$isNativeType是指示$type是否PHP原生类型的标志。
assertContainsOnly(string $type, Iterator $haystack, bool $isNativeType, string $message)
  如果$haystack并非只含有$type类型的变量则报$message标识的错误。$isNativeType是指示$type是否PHP原生类型的标志。
void assertEquals(array $expected, array $actual)
  如果数组$expected和$actual不等则报错。
void assertEquals(array $expected, array $actual, string $message)
  如果数组$expected和$actual不等则报$message标识的错误。
void assertEquals(float $expected, float $actual, '', float $delta = 0)
  如果浮点数$expected和$actual之差不在$delta中则报错。
void assertEquals(float $expected, float $actual, string $message, float $delta = 0)
  如果浮点数$expected和$actual之差不在$delta中则报$message标识的错误。
void assertEquals(object $expected, object $actual)
  如果对象$expected和$actual属性值不等则报错。
void assertEquals(object $expected, object $actual, string $message)
  如果对象$expected和$actual属性值不等则报$message标识的错误。
void assertEquals(string $expected, string $actual)
  如果字符串$expected和$actual不等则报错。同差异一样,错误也被报告。
void assertEquals(string $expected, string $actual, string $message)
  如果字符串$expected和$actual不等则报$message标识的错误。同差异一样,错误也被报告。
void assertEquals(DOMDocument $expected, DOMDocument $actual)
  如果DOMDocument对象$expected和$actual描绘的XML文档不等则报错。
void assertEquals(DOMDocument $expected, DOMDocument $actual, string $message)
  如果DOMDocument对象$expected和$actual描绘的XML文档不等则报$message标识的错误。
void assertEquals(mixed $expected, mixed $actual)
  如果变量$expected和$actual不等则报错。
void assertEquals(mixed $expected, mixed $actual, string $message)
  如果变量$expected和$actual不等则报$message标识的错误。
void assertFalse(bool $condition)
  如果$condition为TRUE则报错。
void assertFalse(bool $condition, string $message)
  如果$condition为TRUE则报$message标识的错误。
void assertFileEquals(string $expected, string $actual)
  如果$expected指定的文件的内容与$actual指定的文件不同则报错。
void assertFileEquals(string $expected, string $actual, string $message)
  如果$expected指定的文件的内容与$actual指定的文件不同则报$message标识的错误。
void assertFileExists(string $filename)
  如果$filename指定的文件不存在则报错。
void assertFileExists(string $filename, string $message)
  如果$filename指定的文件不存在则报$message标识的错误。
void assertGreaterThan(mixed $expected, mixed $actual)
  如果值$actual不比值$expected大则报错。
void assertGreaterThan(mixed $expected, mixed $actual, string $message)
  如果值$actual不比值$expected大则报$message标识的错误。
void assertGreaterThanOrEqual(mixed $expected, mixed $actual)
  如果值$actual不比值$expected大也不相等则报错。
void assertGreaterThanOrEqual(mixed $expected, mixed $actual, string $message)
  如果值$actual不比值$expected大也不相等则报$message标识的错误。
void assertLessThan(mixed $expected, mixed $actual)
  如果值$actual不比值$expected小则报错。
void assertLessThan(mixed $expected, mixed $actual, string $message)
  如果值$actual不比值$expected小则报$message标识的错误。
void assertLessThanOrEqual(mixed $expected, mixed $actual)
  如果值$actual不比值$expected小也不相等则报错。
void assertLessThanOrEqual(mixed $expected, mixed $actual, string $message)
  如果值$actual不比值$expected小也不相等则报$message标识的错误。
void assertNull(mixed $variable)
  如果$variable不是NULL则报错。
void assertNull(mixed $variable, string $message)
  如果$variable不是NULL则报$message标识的错误。
void assertObjectHasAttribute(string $attributeName, object $object)
  如果$object->attributeName不存在则报错。
void assertObjectHasAttribute(string $attributeName, object $object, string $message)
  如果$object->attributeName不存在则报$message标识的错误。
void assertRegExp(string $pattern, string $string)
  如果$string不匹配正则表达式$pattern则报错。
void assertRegExp(string $pattern, string $string, string $message)
  如果$string不匹配正则表达式$pattern则报$message标识的错误。
void assertSame(object $expected, object $actual)
  如果变量$expected和$actual引用不同的对象则报错。
void assertSame(object $expected, object $actual, string $message)
  如果变量$expected和$actual引用不同的对象则报$message标识的错误。
void assertSame(mixed $expected, mixed $actual)
  如果变量$expected和$actual的类型或值不同则报错。
void assertSame(mixed $expected, mixed $actual, string $message)
  如果变量$expected和$actual的类型或值不同则报$message标识的错误。
void assertTrue(bool $condition)
  如果$condition为FALSE则报错。
void assertTrue(bool $condition, string $message)
  如果$condition为FALSE则报$message标识的错误。
void assertType(string $expected, mixed $actual)
  如果变量$actual不是$expected类型则报错。
void assertType(string $expected, mixed $actual, string $message)
  如果变量$actual不是$expected类型则报$message标识的错误。
void assertXmlFileEqualsXmlFile(string $expectedFile, string $actualFile)
  如果$actualFile中的XML文档不等于$expectedFile中的则报错。
void assertXmlFileEqualsXmlFile(string $expectedFile, string $actualFile, string $message)
  如果$actualFile中的XML文档不等于$expectedFile中的则报$message标识的错误。
void assertXmlStringEqualsXmlString(string $expectedXml, string $actualXml)
  如果$actualXml中的XML文档不等于$expectedXml中的则报错。
void assertXmlStringEqualsXmlString(string $expectedXml, string $actualXml, string $message)
  如果$actualXml中的XML文档不等于$expectedXml中的则报$message标识的错误。
void assertArrayNotHasKey(mixed $key, array $array)
  如果$array含有$key则报错。
void assertArrayNotHasKey(mixed $key, array $array, string $message)
  如果$array含有$key则报$message标识的错误。
void assertClassNotHasAttribute(string $attributeName, string $className)
  如果$className::attributeName存在则报错。
void assertClassNotHasAttribute(string $attributeName, string $className, string $message)
  如果$className::attributeName存在则报$message标识的错误。
void assertClassNotHasStaticAttribute(string $attributeName, string $className)
  如果$className::attributeName存在并且是static则报错。
void assertClassNotHasStaticAttribute(string $attributeName, string $className, string $message)
  如果$className::attributeName存在并且是static则报$message标识的错误。
void assertNotContains(mixed $needle, array $haystack)
  如果$needle是$haystack中的一个元素则报错。
void assertNotContains(mixed $needle, array $haystack, string $message)
  如果$needle是$haystack中的一个元素则报$message标识的错误。
void assertNotContains(mixed $needle, Iterator $haystack)
  如果$needle是$haystack中的一个元素则报错。
void assertNotContains(mixed $needle, Iterator $haystack, string $message)
  如果$needle是$haystack中的一个元素则报$message标识的错误。
void assertNotContains(string $needle, string $haystack)
  如果$needle是$haystack的子字符串则报错。
void assertNotContains(string $needle, string $haystack, string $message)
  如果$needle是$haystack的子字符串则报$message标识的错误。
assertNotContainsOnly(string $type, array $haystack)
  如果$haystack只含有$type类型的变量则报错。
assertNotContainsOnly(string $type, array $haystack, NULL, string $message)
  如果$haystack只含有$type类型的变量则报$message标识的错误。
assertNotContainsOnly(string $type, array $haystack, bool $isNativeType)
  如果$haystack只含有$type类型的变量则报错。$isNativeType是指示$type是否PHP原生类型的标志。
assertNotContainsOnly(string $type, array $haystack, bool $isNativeType, string $message)
  如果$haystack只含有$type类型的变量则报$message标识的错误。$isNativeType是指示$type是否PHP原生类型的标志。
assertNotContainsOnly(string $type, Iterator $haystack)
  如果$haystack只含有$type类型的变量则报错。
assertNotContainsOnly(string $type, Iterator $haystack, NULL, string $message)
  如果$haystack只含有$type类型的变量则报$message标识的错误。
assertNotContainsOnly(string $type, Iterator $haystack, bool $isNativeType)
  如果$haystack只含有$type类型的变量则报错。$isNativeType是指示$type是否PHP原生类型的标志。
assertNotContainsOnly(string $type, Iterator $haystack, bool $isNativeType, string $message)
  如果$haystack只含有$type类型的变量则报$message标识的错误。$isNativeType是指示$type是否PHP原生类型的标志。
void assertNotEquals(array $expected, array $actual)
  如果数组$expected和$actual相等则报错。
void assertNotEquals(array $expected, array $actual, string $message)
  如果数组$expected和$actual相等则报$message标识的错误。
void assertNotEquals(float $expected, float $actual, '', float $delta = 0)
  如果浮点数$expected和$actual之差不在$delta中则报错。
void assertNotEquals(float $expected, float $actual, string $message, float $delta = 0)
  如果浮点数$expected和$actual之差不在$delta中则报$message标识的错误。
void assertNotEquals(object $expected, object $actual)
  如果对象$expected和$actual属性值相等则报错。
void assertNotEquals(object $expected, object $actual, string $message)
  如果对象$expected和$actual属性值相等则报$message标识的错误。
void assertNotEquals(string $expected, string $actual)
  如果字符串$expected和$actual相等则报错。
void assertNotEquals(string $expected, string $actual, string $message)
  如果字符串$expected和$actual相等则报$message标识的错误。
void assertNotEquals(DOMDocument $expected, DOMDocument $actual)
  如果DOMDocument对象$expected和$actual描绘的XML相等则报错。
void assertNotEquals(DOMDocument $expected, DOMDocument $actual, string $message)
  如果DOMDocument对象$expected和$actual描绘的XML相等则报$message标识的错误。
void assertNotEquals(mixed $expected, mixed $actual)
  如果变量$expected和$actual相等则报错。
void assertNotEquals(mixed $expected, mixed $actual, string $message)
  如果变量$expected和$actual相等则报$message标识的错误。
void assertFileNotEquals(string $expected, string $actual)
  如果$expected和$actual指定的文件内容相同则报错。
void assertFileNotEquals(string $expected, string $actual, string $message)
  如果$expected和$actual指定的文件内容相同则报$message标识的错误。
void assertFileNotExists(string $filename)
  如果$filename指定的文件存在则报错。
void assertFileNotExists(string $filename, string $message)
  如果$filename指定的文件存在则报$message标识的错误。
void assertNotNull(mixed $variable)
  如果$variable为NULL则报错。
void assertNotNull(mixed $variable, string $message)
  如果$variable为NULL则报$message标识的错误。
void assertNotRegExp(string $pattern, string $string)
  如果$string匹配正则表达式$pattern则报错。
void assertNotRegExp(string $pattern, string $string, string $message)
  如果$string匹配正则表达式$pattern则报$message标识的错误。
void assertNotSame(object $expected, object $actual)
  如果变量$expected和$actual引用相同的对象则报错。
void assertNotSame(object $expected, object $actual, string $message)
  如果变量$expected和$actual引用相同的对象则报$message标识的错误。
void assertNotSame(mixed $expected, mixed $actual)
  如果变量$expected和$actual具有相同的值和类型则报错。
void assertNotSame(mixed $expected, mixed $actual, string $message)
  如果变量$expected和$actual具有相同的值和类型则报$message标识的错误。
void assertNotType(string $expected, mixed $actual)
  如果变量$actual是$expected类型则报错。
void assertNotType(string $expected, mixed $actual, string $message)
  如果变量$actual是$expected类型则报$message标识的错误。
void assertObjectNotHasAttribute(string $attributeName, object $object)
  如果$object->attributeName存在则报错。
void assertObjectNotHasAttribute(string $attributeName, object $object, string $message)
  如果$object->attributeName存在则报$message标识的错误。
void assertXmlFileNotEqualsXmlFile(string $expectedFile, string $actualFile)
  如果$actualFile和$expectedFile中的XML文档相等则报错。
void assertXmlFileNotEqualsXmlFile(string $expectedFile, string $actualFile, string $message)
  如果$actualFile和$expectedFile中的XML文档相等则报$message标识的错误。
void assertXmlStringNotEqualsXmlString(string $expectedXml, string $actualXml)
  如果$actualXml和$expectedXml中的XML文档相等则则报错。
void assertXmlStringNotEqualsXmlString(string $expectedXml, string $actualXml, string $message)
  如果$actualXml和$expectedXml中的XML文档相等则则报$message标识的错误。
void assertAttributeContains(mixed $needle, string $haystackAttributeName, string $haystackClassName)
  如果$needle不是$haystackClassName::$haystackAttributeName中的元素则报错,后者可为数组、字符串或实现Iterator接口的对象。$haystackClassName::$haystackAttributeName属性的可见性可为public、protected或private。
void assertAttributeContains(mixed $needle, string $haystackAttributeName, string $haystackClassName, string $message)
  如果$needle不是$haystackClassName::$haystackAttributeName中的元素则报$message标识的错误,后者可为数组、字符串或实现Iterator接口的对象。$haystackClassName::$haystackAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotContains(mixed $needle, string $haystackAttributeName, string $haystackClassName)
  如果$needle是$haystackClassName::$haystackAttributeName中的元素则报错,后者可为数组、字符串或实现Iterator接口的对象。$haystackClassName::$haystackAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotContains(mixed $needle, string $haystackAttributeName, string $haystackClassName, string $message)
  如果$needle是$haystackClassName::$haystackAttributeName中的元素则报$message标识的错误,后者可为数组、字符串或实现Iterator接口的对象。$haystackClassName::$haystackAttributeName属性的可见性可为public、protected或private。
void assertAttributeContains(mixed $needle, string $haystackAttributeName, object $haystackObject)
  如果$needle不是$haystackObject->haystackAttributeName中的元素则报错,后者可为数组、字符串或实现Iterator接口的对象。$haystackObject->haystackAttributeName属性的可见性可为public、protected或private。
void assertAttributeContains(mixed $needle, string $haystackAttributeName, object $haystackObject, string $message)
  如果$needle不是$haystackObject->haystackAttributeName中的元素则报$message标识的错误,后者可为数组、字符串或实现Iterator接口的对象。$haystackObject->haystackAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotContains(mixed $needle, string $haystackAttributeName, object $haystackObject)
  如果$needle是$haystackObject->haystackAttributeName中的元素则报错,后者可为数组、字符串或实现Iterator接口的对象。$haystackObject->haystackAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotContains(mixed $needle, string $haystackAttributeName, object $haystackObject, string $message)
  如果$needle不是$haystackObject->haystackAttributeName中的元素则报$message标识的错误,后者可为数组、字符串或实现Iterator接口的对象。$haystackObject->haystackAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(array $expected, string $actualAttributeName, string $actualClassName)
  如果数组$expected和$actualClassName::$actualAttributeName不等则报错。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(array $expected, string $actualAttributeName, string $actualClassName, string $message)
  如果数组$expected和$actualClassName::$actualAttributeName不等则报$message标识的错误。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(array $expected, string $actualAttributeName, string $actualClassName)
  如果数组$expected和$actualClassName::$actualAttributeName相等则报错。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(array $expected, string $actualAttributeName, string $actualClassName, string $message)
  如果数组$expected和$actualClassName::$actualAttributeName相等则报$message标识的错误。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(float $expected, string $actualAttributeName, string $actualClassName, '', float $delta = 0)
  如果浮点数$expected和$actualClassName::$actualAttributeName之差不在$delta中则报错。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void
assertAttributeEquals(float $expected, string $actualAttributeName,
string $actualClassName, string $message, float $delta = 0)
  如果浮点数$expected和$actualClassName::$actualAttributeName之差不在$delta中则报$message标识的错误。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(float $expected, string $actualAttributeName, string $actualClassName, '', float $delta = 0)
  如果浮点数$expected和$actualClassName::$actualAttributeName之差在$delta中则报错。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void
assertAttributeNotEquals(float $expected, string $actualAttributeName,
string $actualClassName, string $message, float $delta = 0)
  如果浮点数$expected和$actualClassName::$actualAttributeName之差在$delta中则报$message标识的错误。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(string $expected, string $actualAttributeName, string $actualClassName)
  如果字符串$expected和$actualClassName::$actualAttributeName不等则报错。同差异一样,错误也被报告。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(string $expected, string $actualAttributeName, string $actualClassName, string $message)
  如果字符串$expected和$actualClassName::$actualAttributeName不等则报$message标识的错误。同差异一样,错误也被报告。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(string $expected, string $actualAttributeName, string $actualClassName)
  如果字符串$expected和$actualClassName::$actualAttributeName相等则报错。$actualClassName::$actualAttributeName 属性的可见性可为public、protected或private。
void assertAttributeNotEquals(string $expected, string $actualAttributeName, string $actualClassName, string $message)
  如果字符串$expected和$actualClassName::$actualAttributeName相等则报$message标识的错误。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(mixed $expected, string $actualAttributeName, string $actualClassName)
  如果变量$expected和$actualClassName::$actualAttributeName不等则报错。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(mixed $expected, string $actualAttributeName, string $actualClassName, string $message)
  如果变量$expected和$actualClassName::$actualAttributeName不等则报$message标识的错误。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(mixed $expected, string $actualAttributeName, string $actualClassName)
  如果变量$expected和$actualClassName::$actualAttributeName相等则报错。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(mixed $expected, string $actualAttributeName, string $actualClassName, string $message)
  如果变量$expected和$actualClassName::$actualAttributeName相等则报$message标识的错误。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(array $expected, string $actualAttributeName, object $actualObject)
  如果数组$expected和$actualObject->actualAttributeName不等则报错。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(array $expected, string $actualAttributeName, object $actualObject, string $message)
  如果数组$expected和$actualObject->actualAttributeName不等则报$message标识的错误。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(array $expected, string $actualAttributeName, object $actualObject)
  如果数组$expected和$actualObject->actualAttributeName相等则报错。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(array $expected, string $actualAttributeName, object $actualObject, string $message)
  如果数组$expected和$actualObject->actualAttributeName相等则报$message标识的错误。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(float $expected, string $actualAttributeName, object $actualObject, '', float $delta = 0)
  如果浮点数$expected和$actualObject->actualAttributeName之差不在$delta中则报错。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void
assertAttributeEquals(float $expected, string $actualAttributeName,
object $actualObject, string $message, float $delta = 0)
  如果浮点数$expected和$actualObject->actualAttributeName之差不在$delta中则报$message标识的错误。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(float $expected, string $actualAttributeName, object $actualObject, '', float $delta = 0)
  如果浮点数$expected和$actualObject->actualAttributeName之差在$delta中则报错。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void
assertAttributeNotEquals(float $expected, string $actualAttributeName,
object $actualObject, string $message, float $delta = 0)
  如果浮点数$expected和$actualObject->actualAttributeName之差在$delta中则报$message标识的错误。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(string $expected, string $actualAttributeName, object $actualObject)
  如果字符串$expected和$actualObject->actualAttributeName不等则报错。同差异一样,错误也被报告。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(string $expected, string $actualAttributeName, object $actualObject, string $message)
  如果字符串$expected和$actualObject->actualAttributeName不等则报$message标识的错误。同差异一样,错误也被报告。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(string $expected, string $actualAttributeName, object $actualObject)
  如果字符串$expected和$actualObject->actualAttributeName相等则报错。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(string $expected, string $actualAttributeName, object $actualObject, string $message)
  如果字符串$expected和$actualObject->actualAttributeName相等则报$message标识的错误。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(mixed $expected, string $actualAttributeName, object $actualObject)
  如果变量$expected和$actualObject->actualAttributeName不等则报错。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeEquals(mixed $expected, string $actualAttributeName, object $actualObject, string $message)
  如果变量$expected和$actualObject->actualAttributeName不等则报$message标识的错误。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(mixed $expected, string $actualAttributeName, object $actualObject)
  如果变量$expected和$actualObject->actualAttributeName相等则报错。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotEquals(mixed $expected, string $actualAttributeName, object $actualObject, string $message)
  如果变量$expected和$actualObject->actualAttributeName相等则报$message标识的错误。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeSame(object $expected, string $actualAttributeName, string $actualClassName)
  如果$actualClassName::$actualAttributeName和$actual引用不同的对象则报错。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeSame(object $expected, string $actualAttributeName, string $actualClassName, string $message)
  如果$actualClassName::$actualAttributeName和$actual引用不同的对象则报$message标识的错误。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeSame(mixed $expected, string $actualAttributeName, string $actualClassName)
  如果$actualClassName::$actualAttributeName和$actual的值或类型不同则报错。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeSame(mixed $expected, string $actualAttributeName, string $actualClassName, string $message)
  如果$actualClassName::$actualAttributeName和$actual的值或类型不同则报$message标识的错误。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotSame(object $expected, string $actualAttributeName, string $actualClassName)
  如果$actualClassName::$actualAttributeName和$actual引用相同的对象则报错。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotSame(object $expected, string $actualAttributeName, string $actualClassName, string $message)
  如果$actualClassName::$actualAttributeName和$actual引用相同的对象则报$message标识的错误。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotSame(mixed $expected, string $actualAttributeName, string $actualClassName)
  如果$actualClassName::$actualAttributeName和$actual的值和类型都相同则报错。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotSame(mixed $expected, string $actualAttributeName, string $actualClassName, string $message)
  如果$actualClassName::$actualAttributeName和$actual的值和类型都相同则报$message标识的错误。$actualClassName::$actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeSame(object $expected, string $actualAttributeName, object $actualObject)
  如果$actualObject->actualAttributeName和$actual引用不同的对象则报错。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeSame(object $expected, string $actualAttributeName, object $actualObject, string $message)
  如果$actualObject->actualAttributeName和$actual引用不同的对象则报$message标识的错误。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeSame(mixed $expected, string $actualAttributeName, object $actualObject)
  如果$actualObject->actualAttributeName和$actual的值或类型不同则报错。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeSame(mixed $expected, string $actualAttributeName, object $actualObject, string $message)
  如果$actualObject->actualAttributeName和$actual的值或类型不同则报$message标识的错误。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotSame(object $expected, string $actualAttributeName, object $actualObject)
  如果$actualObject->actualAttributeName和$actual引用相同的对象则报错。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotSame(object $expected, string $actualAttributeName, object $actualObject, string $message)
  如果$actualObject->actualAttributeName和$actual引用相同的对象则报$message标识的错误。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotSame(mixed $expected, string $actualAttributeName, object $actualObject)
  如果$actualObject->actualAttributeName和$actual的值和类型都相同则报错。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
void assertAttributeNotSame(mixed $expected, string $actualAttributeName, object $actualObject, string $message)
  如果$actualObject->actualAttributeName和$actual的值和类型都相同则报$message标识的错误。$actualObject->actualAttributeName属性的可见性可为public、protected或private。
      更复杂的断言可用PHPUnit_Framework_Constraint类表述。它们可利用assertThat()方法被计算,如
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#api.assert.examples.IsNotEqual.php]范例 22.3[/url]
中所示。
   
范例 22.3: 同约束对象一起使用assertThat()
require_once 'PHPUnit/Framework.php';

class ConstraintTest extends PHPUnit_Framework_TestCase
{
    public function testNotEquals()
    {
        $constraint = $this->logicalNot(
          $this->equalTo('foo')
        );

        $this->assertThat('foo', $constraint);
    }
}
?>
phpunit ConstraintTest
PHPUnit 3.2.10 by Sebastian Bergmann.
F
Time: 0 seconds
There was 1 failure:
1) testNotEquals(ConstraintTest)
Failed asserting that  is not equal to .
/home/sb/ConstraintTest.php:12
FAILURES!
Tests: 1, Failures: 1.
      
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#api.assert.tables.constraints]表 22.2[/url]
显示可用的PHPUnit_Framework_Constraint实现。
   
表 22.2. 约束
约束含义PHPUnit_Framework_Constraint_Attribute attribute(PHPUnit_Framework_Constraint $constraint, $attributeName)将另一个约束应用于类或对象的某个属性的约束。PHPUnit_Framework_Constraint_IsAnything anything()接受任意输入值的约束。PHPUnit_Framework_Constraint_ArrayHasKey arrayHasKey(mixed $key)断言其所计算的数组具有指定的关键字的约束。PHPUnit_Framework_Constraint_TraversableContains contains(mixed $value)断言其所计算的array或实现接口Iterator的对象含有指定值的约束。PHPUnit_Framework_Constraint_IsEqual equalTo($value, $delta = 0, $maxDepth = 10)检查某值是否等于另一个的约束。PHPUnit_Framework_Constraint_Attribute attributeEqualTo($attributeName, $value, $delta = 0, $maxDepth = 10)检查某值是否等于某类或对象的一个属性的约束。PHPUnit_Framework_Constraint_FileExists fileExists()检查其所计算的文件(名)是否存在的约束。PHPUnit_Framework_Constraint_GreaterThan greaterThan(mixed $value)断言其所计算的值比给定值大的约束。PHPUnit_Framework_Constraint_Or greaterThanOrEqual(mixed $value)断言其所计算的值比给定值大或与之相等的约束。PHPUnit_Framework_Constraint_ClassHasAttribute classHasAttribute(string $attributeName)断言其所计算的类具有指定属性的约束。PHPUnit_Framework_Constraint_ClassHasStaticAttribute classHasStaticAttribute(string $attributeName)断言其所计算的类具有指定static属性的约束。PHPUnit_Framework_Constraint_ObjectHasAttribute hasAttribute(string $attributeName)断言其所计算的对象具有指定属性的约束。PHPUnit_Framework_Constraint_IsIdentical identicalTo(mixed $value)断言某值与另一个是同一个的约束。PHPUnit_Framework_Constraint_IsInstanceOf isInstanceOf(string $className)断言其所计算的对象是给定类的实例的约束。PHPUnit_Framework_Constraint_IsType isType(string $type)断言其所计算的值是指定类型的约束。PHPUnit_Framework_Constraint_LessThan lessThan(mixed $value)断言其所计算的值比给定值小的约束。PHPUnit_Framework_Constraint_Or lessThanOrEqual(mixed $value)断言其所计算的值比给定值小或与之相等的约束。logicalAnd()逻辑与。logicalNot(PHPUnit_Framework_Constraint $constraint)逻辑非。logicalOr()逻辑或。logicalXor()逻辑异或。PHPUnit_Framework_Constraint_PCREMatch matchesRegularExpression(string $pattern)断言其所计算的字符串匹配一个正则表达式的约束。PHPUnit_Framework_Constraint_StringContains stringContains(string $string, bool $case)断言其所计算的字符串包含给定字符串的约束。
      也许你会发现,除了这些,你还需要其他断言来比较特定于你的项目的对象。创建你自己的Assert类来包含这些断言以便简化你的测试。
   
      失败的断言都调用一个瓶颈方法,fail(string $message),它抛出一个PHPUnit_Framework_AssertionFailedError。还有个不带参数的变体。当你的测试遇到错误时显式调用fail()。期望异常的测试是个例子。
      
[url=file:///F:/data2/PHPUnit_Pocket_Guide_-_v32/index_cn.html#api.assert.tables.bottleneck-methods]表 22.3[/url]
列举了PHPUnit中的瓶颈方法。
   
表 22.3. 瓶颈方法
方法含义void fail()报告错误。void fail(string $message)报告由$message标识的错误。
      markTestIncomplete()和markTestSkipped()是标记测试为未完成或跳过的便利方法。
   
表 22.4. 标记测试为未完成或跳过的
方法含义void markTestIncomplete(string $message)标记当前测试为未完成的,$message为可选的。void markTestSkipped(string $message)标记当前测试为跳过的,$message为可选的。
      尽管单元测试用于测试类的public接口,或许有时候你想要测试非public属性值。readAttribute()方法使你能这样做,它返回给定类或对象的给定(static)属性值。
   
表 22.5. 访问非public属性
方法含义Mixed readAttribute($classOrObject, $attributeName)返回类或对象的给定(static)属性($attributeName)值。它也可用于声明为protected或private的属性
               
               
               
               
               

相关阅读 更多 +
排行榜 更多 +
粉末星战 v1.0.0 安卓版

粉末星战 v1.0.0 安卓版

休闲益智 下载
粉末星战 v1.0.0 安卓版

粉末星战 v1.0.0 安卓版

休闲益智 下载
火线反恐部队 v1.2 安卓版

火线反恐部队 v1.2 安卓版

飞行射击 下载