我需要检查变量是否是 User 类型的对象。用户是我的班级$user
我的对象
$this->assertInstanceOf($user,User);
这不起作用,我使用了未定义的常量用户 - 假定为“用户”
在此先感谢您的帮助
我需要检查变量是否是 User 类型的对象。用户是我的班级$user
我的对象
$this->assertInstanceOf($user,User);
这不起作用,我使用了未定义的常量用户 - 假定为“用户”
在此先感谢您的帮助
http://apigen.juzna.cz/doc/sebastianbergmann/phpunit/function-assertInstanceOf.html
我认为您错误地使用了此功能。尝试:
$this->assertInstanceOf('User', $user);
尽可能使用总是一个好主意::class
。如果您习惯了这个标准,则不必使用 FQCN(完全限定的类名)或转义反斜杠。此外,如果 IDE 知道User
这里不仅仅是一个字符串,而是一个类,那么 IDE 会提供更好的功能。
$this->assertInstanceOf(User::class, $user);
或者你可以使用类似的东西:
$this->assertInstanceOf(get_class($expectedObject), $user);
我通常在检查 setter 方法是否返回对 self 的引用时使用它。
$testedObj = new ObjectToTest();
$this->assertInstanceOf(
get_class($testedObj),
$testedObj->setSomething('someValue'),
'Setter is not returning $this reference'
);