📅  最后修改于: 2023-12-03 15:03:44.749000             🧑  作者: Mango
assertIsScalar()
函数是 PHPUnit test 框架中的一种断言方法,用于判断给定的值是否为标量类型(即:整数、字符串、浮点数、布尔值)。如果给定的值是标量类型,则断言成功,否则抛出一个 AssertionFailedError 异常。
public static function assertIsScalar(mixed $actual, string $message = ''): void
$actual
(mixed):待验证的值$message
(string,可选):若验证失败,则需要抛出的异常信息$actual
:需要验证的变量或表达式,支持任意类型,包括标量类型和非标量类型。
$message
:在验证失败时输出的异常信息,可以自定义。如果未提供,则默认为 “Failed asserting that variable is scalar.”。
以下示例展示了 assertIsScalar()
用法:
use PHPUnit\Framework\TestCase;
class AssertIsScalarTest extends TestCase
{
public function testAssertIsScalar()
{
$this->assertIsScalar(3);
$this->assertIsScalar('hello');
$this->assertIsScalar(true);
$this->assertIsScalar(3.14);
$this->assertIsScalar(null);
$this->assertIsScalar([]);
$this->assertIsScalar(new stdClass());
$this->assertIsScalar(fopen('test.txt', 'r'));
}
}
在上面的示例中,我们使用 assertIsScalar()
分别验证了整数、字符串、布尔值、浮点数和 null 是否为标量类型,这些断言都是正确的。而对于空数组、对象以及文件资源, assertIsScalar()
断言会失败,抛出异常。
这是本函数返回的斑马线表格:
| $actual | $message | |---------|----------------------------| | 3 | | | 'hello' | | | true | | | 3.14 | | | null | | | [] | Failed asserting that array is scalar. | | object(stdClass) | Failed asserting that object is scalar. | | resource | Failed asserting that resource is scalar. |
我们可以看到,当验证失败时, assertIsScalar()
将会带上我们传递的 $message
信息。