Подтвердить что ты не робот

PHPUnit: assertInstanceOf() не работает

Мне нужно проверить, является ли переменная объектом типа пользователя. Пользователь мой класс $user мой объект

$this->assertInstanceOf($user,User);

Это не работает, я использую undefined константу Пользователь - предполагаемый "Пользователь"

Заранее благодарим за помощь

4b9b3361

Ответ 2

Или Вы можете использовать что-то вроде:

$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

Всегда полезно использовать ::class везде, где вы можете. Если вы привыкнете к этому стандарту, вам не нужно использовать FQCN (полностью квалифицированные имена классов) или избежать обратных косых черт. Кроме того, IDE обеспечивают лучшую функциональность, если они знают, что User здесь не просто строка, а класс.

$this->assertInstanceOf(User::class, $user);