phpunitassertNotEmpty("0")
で行うと失敗します。"0"
は長さ 1 の文字列である ため、失敗することはありません。
次のテストは成功します。
$this->assertEquals(1, strlen("0"));
$this->assertInternalType('string', "0");
では、なぜそれ"0"
が空であると言うのですか?assert ステートメントは内部的に整数に変換して空であることを確認しますか?
phpunitassertNotEmpty("0")
で行うと失敗します。"0"
は長さ 1 の文字列である ため、失敗することはありません。
次のテストは成功します。
$this->assertEquals(1, strlen("0"));
$this->assertInternalType('string', "0");
では、なぜそれ"0"
が空であると言うのですか?assert ステートメントは内部的に整数に変換して空であることを確認しますか?
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)