📜  PHPUnit | assertContainsOnly()函数(1)

📅  最后修改于: 2023-12-03 14:45:27.678000             🧑  作者: Mango

PHPUnit | assertContainsOnly()函数

PHPUnit是一个流行的PHP测试框架,提供了许多内置的断言函数,其中之一就是assertContainsOnly()。这个函数用于断言一个数组或Traversable对象中只包含指定类型的元素。

语法
assertContainsOnly(string $type, iterable|array $haystack, bool $isNativeType = null, string $message = '')
  • $type:指定类型。
  • $haystack:待检查的数组或Traversable对象。
  • $isNativeType:可选参数,指定是否为PHP内置类型。默认为true。
  • $message:可选参数,指定测试失败时的错误信息。
例子

以下示例演示如何使用assertContainsOnly()函数。

public function testAssertContainsOnly()
{
    $this->assertContainsOnly('int', [1, 2, 3]); // 通过,数组只包含整数元素
    $this->assertContainsOnly('string', ['hello', 'world']); // 通过,数组只包含字符串元素
    $this->assertContainsOnly('int', [1, 2, 3, '4']); // 失败,数组中包含非整数元素

    $obj1 = new stdClass();
    $obj2 = new stdClass();
    $this->assertContainsOnly('stdClass', [$obj1, $obj2]); // 通过,数组只包含stdClass对象
    $this->assertContainsOnly('array', [$obj1]); // 失败,数组中包含非array类型的元素
}
总结

assertContainsOnly()函数用于确保数组或Traversable对象只包含指定类型的元素。该函数非常有用,特别是当你需要对数组或Traversable对象进行类型检查时。