Je verrouille en avant un moyen de se moquer d'un objet et de remplir ses propriétés. Voici un exemple de méthode qui utilise une propriété d'un autre objet:
class MyClass {
private $_object;
public function methodUnderTest($object) {
$this->_object = $object;
return $this->_object->property
}
}
Pour tester cette méthode à l'unité, je devrais créer une maquette de $object
Avec la méthode getMockBuilder()
de PHPUnit
. Mais je ne peux pas trouver un moyen de se moquer des propriétés du $object
, Juste des méthodes.
Pour ajouter des propriétés à un objet simulé, il vous suffit de les définir comme vous le feriez normalement avec un objet:
$mock = $this->getMockBuilder('MyClass')
->disableOriginalConstructor()
->getMock();
$mock->property = 'some_value';
$mock->property
renverra maintenant 'some_value'
Merci à akond
P.s. pour mon projet, cela ne fonctionne pas avec certaines classes, et lorsque j'essaie d'appeler $mock->property
il renvoie simplement NULL