Question

Utilisation de PHPUnit, je me demande comment nous pouvons avoir plusieurs attentes de la même souche / faux.

Par exemple, je veux tester que la maquette aura la méthode display() appelé et NULL de retour. Je veux aussi test qui sera appelé la méthode process().

En fait mon test est appelé testProcessIsCalledIfDisplayReturnNull().

Je dois installer 2 attentes sur le même objet fantaisie, et le manuel ne vraiment pas d'aide à ce sujet: (

Était-ce utile?

La solution

Si vous le savez, cette méthode est appelée une fois l'utilisation $ this-> une fois () en attend (), utiliser autrement $ this-> any ()

$mock = $this->getMock('nameOfTheClass', array('firstMethod','secondMethod','thirdMethod'));
$mock->expects($this->once())
     ->method('firstMethod')
     ->will($this->returnValue('value'));
$mock->expects($this->once())
     ->method('secondMethod')
     ->will($this->returnValue('value'));
$mock->expects($this->once())
     ->method('thirdMethod')
     ->will($this->returnValue('value'));

Autres conseils

Je l'ai essayé, et il semble œuvres aussi longtemps que le séjour de l'ordre d'appel bon:

$mock = $this->getMock('mockWorker', array('display', 'process'));
$mock->expects($this->exactly(1))
     ->method('display')
     ->will($this->returnValue(null));
$mock->expects($this->exactly(1))
     ->method('process');
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top