PHPUnit:assertInstanceOf()不起作用
我需要检查一个variables是否是用户types的对象。 用户是我的课$user
我的对象
$this->assertInstanceOf($user,User);
这是行不通的,我有一个使用未定义的常量用户 – 假定“用户”
在此先感谢您的帮助
http://apigen.juzna.cz/doc/sebastianbergmann/phpunit/function-assertInstanceOf.html
我认为你使用这个function是错误的。 尝试:
$this->assertInstanceOf('User', $user);
或者你可以使用像这样的东西:
$this->assertInstanceOf(get_class($expectedObject), $user);
我通常使用这个当我检查即如果setter方法返回引用自我。
$testedObj = new ObjectToTest(); $this->assertInstanceOf( get_class($testedObj), $testedObj->setSomething('someValue'), 'Setter is not returning $this reference' );
无论你在哪里使用::class
总是一个好主意。 如果您习惯了这个标准,那么您不必使用FQCN(完全限定的类名),也不必使用反斜杠。 另外,如果IDE知道这里的User
不仅仅是一个string,而且是一个类,它将提供更好的function。
$this->assertInstanceOf(User::class, $user);