Je dois vérifier si une variable est un objet de type utilisateur. L'utilisateur est ma classe $user
mon objet
$this->assertInstanceOf($user,User);
Cela ne fonctionne pas, j'ai une utilisation constante de l'utilisateur non défini - supposé "utilisateur"
Merci d'avance pour votre aide
http://apigen.juzna.cz/doc/sebastianbergmann/phpunit/function-assertInstanceOf.html
Je pense que vous utilisez mal cette fonction. Essayer:
$this->assertInstanceOf('User', $user);
C'est toujours une bonne idée d'utiliser ::class
partout où vous le pouvez. Si vous vous habituez à cette norme, vous n'avez pas à utiliser de FQCN (noms de classe pleinement qualifiés), ni à échapper des barres obliques inverses. De plus, les IDE offrent de meilleures fonctionnalités s'ils savent que User
ici n'est pas seulement une chaîne, mais plutôt une classe.
$this->assertInstanceOf(User::class, $user);
Ou vous pouvez utiliser quelque chose comme:
$this->assertInstanceOf(get_class($expectedObject), $user);
J'utilise généralement cela lorsque je vérifie, c'est-à-dire si la méthode setter renvoie une référence à soi-même.
$testedObj = new ObjectToTest();
$this->assertInstanceOf(
get_class($testedObj),
$testedObj->setSomething('someValue'),
'Setter is not returning $this reference'
);