Ich versuche ein Mock-Objekt in PHP und PHPUnit zu erstellen. Bisher habe ich dies:Mehrere Methoden in PHPUnit Mock-Objekten konfigurieren
$object = $this->getMock('object',
array('set_properties',
'get_events'),
array(),
'object_test',
null);
$object
->expects($this->once())
->method('get_events')
->will($this->returnValue(array()));
$mo = new multiple_object($object);
Ignorieren meine hideously mehrdeutige Objektnamen für die Minute, ich verstehe, dass das, was ich getan habe, ist
- Erstellt ein Mock-Objekt, mit 2 Methoden zu konfigurieren,
- Konfiguriert die Methode 'get_events', um ein leeres Array zurückzugeben, und
- Hat den Mock in den Konstruktor geworfen.
Was ich jetzt tun möchte, ist die zweite Methode zu konfigurieren, aber ich kann nichts finden, das erklärt, wie man das macht. Ich möchte etwas wie
$object
->expects($this->once())
->method('get_events')
->will($this->returnValue(array()))
->expects($this->once())
->method('set_properties')
->with($this->equalTo(array()))
oder so etwas tun, aber das funktioniert nicht. Wie soll ich das machen?
Tangential, zeigt dies an, dass ich meinen Code schlecht strukturiert habe, wenn ich mehr als eine Testmethode konfigurieren muss?
Das habe ich versucht, und es hat nicht zu funktionieren scheint. –
Es sieht in der Tat so aus. Überprüfen Sie meine Bearbeitung. Vielleicht stimmt etwas nicht? Wenn Sie etwas vollständiger Code teilen, könnten andere oder ich helfen können. –
Versuchte es noch einmal, und es hat funktioniert. Danke für Ihre Hilfe! –