📜  PHPUnit assertIsScalar()函数(1)

📅  最后修改于: 2023-12-03 15:03:44.749000             🧑  作者: Mango

PHPUnit assertIsScalar()函数

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 信息。