Development Tip

PHPUnit : assertInstanceOf ()가 작동하지 않습니다.

yourdevel 2021. 1. 5. 19:39
반응형

PHPUnit : assertInstanceOf ()가 작동하지 않습니다.


변수가 사용자 유형의 개체인지 확인해야합니다. 사용자는 내 클래스 $user내 개체입니다.

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

이것은 작동하지 않습니다. 정의되지 않은 상수 사용자를 사용하고 있습니다. '사용자'라고 가정합니다.

도움에 미리 감사드립니다.


http://apigen.juzna.cz/doc/sebastianbergmann/phpunit/function-assertInstanceOf.html

이 기능을 잘못 사용하고 있다고 생각합니다. 시험:

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

::class가능한 한 어디에서나 사용하는 것이 좋습니다 . 이 표준에 익숙해지면 FQCN (정규화 된 클래스 이름)을 사용하거나 백 슬래시를 이스케이프 할 필요가 없습니다. 또한 IDE는 User여기에 문자열이 아니라 클래스 라는 것을 알고 있으면 더 나은 기능을 제공합니다 .

$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'
);

참조 URL : https://stackoverflow.com/questions/16833923/phpunit-assertinstanceof-not-working

반응형