在phpunit中执行assertNotEmpty("0")
失败。它不应该失败,因为"0"
是一个长度为1的字符串。
以下测试成功。
$this->assertEquals(1, strlen("0"));
$this->assertInternalType('string', "0");
然后,为什么它说"0"
是空的?断言语句是否在内部将其转换为整数以检查空虚?
答案 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)