Phpunit Mock mit mehreren Erwartungen () Aufrufen
-
27-10-2019 - |
Frage
Mit Phpunit frage ich mich, wie wir aus demselben Stummel/Mock mehrere Erwartungen haben können.
Zum Beispiel möchte ich testen, dass das Schein die Methode hat display()
angerufen und null zurückkehren. Ich möchte auch die Methode testen process()
wird angerufen werden.
In der Tat heißt mein Test genannt testProcessIsCalledIfDisplayReturnNull()
.
Ich muss also 2 Erwartungen an dasselbe Scheinobjekt einrichten, und das Handbuch hilft nicht wirklich daran :(
Lösung
Wenn Sie wissen, wird diese Methode aufgerufen, wenn Sie $ this-> einmal () in erwartet () verwenden, sonst verwenden Sie $ this-> medig ()
$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'));
Andere Tipps
Ich habe es versucht und es scheint zu funktionieren, solange die Anrufbearbeitung gut bleibt:
$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');
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow