pruebas - PHPUnit: assertInstanceOf() no funciona
phpunit laravel (3)
Necesito verificar si una variable es un objeto del tipo de Usuario. El usuario es mi clase $user
mi objeto
$this->assertInstanceOf($user,User);
Esto no funciona, tengo un uso constante de usuario indefinido - asumido ''Usuario''
Gracias de antemano por tu ayuda
O puede usar algo como:
$this->assertInstanceOf(get_class($expectedObject), $user);
Usualmente uso esto cuando estoy comprobando, es decir, si el método setter es la referencia de retorno a self.
$testedObj = new ObjectToTest();
$this->assertInstanceOf(
get_class($testedObj),
$testedObj->setSomething(''someValue''),
''Setter is not returning $this reference''
);
Siempre es una buena idea usar ::class
siempre que sea posible. Si te acostumbras a este estándar, no tienes que usar FQCN (nombres de clase totalmente calificados) o escapar de las barras diagonales inversas. Además, los IDE proporcionan una mejor funcionalidad si saben que el User
aquí no es solo una cadena, sino una clase.
$this->assertInstanceOf(User::class, $user);
http://apigen.juzna.cz/doc/sebastianbergmann/phpunit/function-assertInstanceOf.html
Creo que estás usando esta función mal. Tratar:
$this->assertInstanceOf(''User'', $user);