我需要检查变量是否是User类型的对象。User是我的类$user我的对象
$user
$this->assertInstanceOf($user,User);
这是行不通的,我有一个未定义的常数用户使用-假设'用户'。
xriantvc1#
http://apigen.juzna.cz/doc/sebastianbergmann/phpunit/function-assertInstanceOf.html我认为您错误地使用了此函数。请尝试:
$this->assertInstanceOf('User', $user);
8ehkhllq2#
尽可能地使用::class总是一个好主意。如果你习惯了这个标准,你就不必使用FQCN(完全限定类名),或者转义反斜杠。另外,如果IDE知道这里的User不仅仅是一个字符串,而是一个类,那么它们会提供更好的功能。
::class
User
$this->assertInstanceOf(User::class, $user);
lrpiutwd3#
或者您可以使用类似于:
$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' );
3条答案
按热度按时间xriantvc1#
http://apigen.juzna.cz/doc/sebastianbergmann/phpunit/function-assertInstanceOf.html
我认为您错误地使用了此函数。请尝试:
8ehkhllq2#
尽可能地使用
::class
总是一个好主意。如果你习惯了这个标准,你就不必使用FQCN(完全限定类名),或者转义反斜杠。另外,如果IDE知道这里的User
不仅仅是一个字符串,而是一个类,那么它们会提供更好的功能。lrpiutwd3#
或者您可以使用类似于:
我通常在检查setter方法是否返回对self的引用时使用这个函数。