assertNotEmpty(“0”)失败。为什么?

时间:2013-07-24 10:00:08

标签: php phpunit assertions

在phpunit中执行assertNotEmpty("0")失败。它不应该失败,因为"0"是一个长度为1的字符串。

以下测试成功。

$this->assertEquals(1, strlen("0"));
$this->assertInternalType('string', "0");

然后,为什么它说"0"是空的?断言语句是否在内部将其转换为整数以检查空虚?

1 个答案:

答案 0 :(得分:7)

来自http://php.net/manual/en/function.empty.php

以下内容被认为是空的:

"" (an empty string)
0 (0 as an integer)
0.0 (0 as a float)
"0" (0 as a string)
NULL
FALSE
array() (an empty array)
$var; (a variable declared, but without a value)