Мне нужно проверить, является ли переменная объектом типа пользователя. Пользователь мой класс $user
мой объект
$this->assertInstanceOf($user,User);
Это не работает, я использую неопределенный постоянный пользовательский «Пользователь»,
Заранее спасибо за вашу помощь
http://apigen.juzna.cz/doc/sebastianbergmann/phpunit/function-assertInstanceOf.html
Я думаю, что вы неправильно используете эту функцию. Пытаться:
$this->assertInstanceOf('User', $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' );
Всегда полезно использовать ::class
где только можно. Если вы привыкнете к этому стандарту, вам не нужно использовать FQCN (полностью квалифицированные имена классов) или избежать обратных косых черт. Кроме того, IDE обеспечивают лучшую функциональность, если они знают, что User
здесь не просто строка, а класс.
$this->assertInstanceOf(User::class, $user);