Sto cercando di creare un oggetto fittizio in PHP e PHPUnit. Finora, ho questo:Configurazione di più metodi in PHPUnit oggetti fittizi
$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);
Ignorando i miei nomi degli oggetti orrendamente ambigui per minuto, ho capito che quello che ho fatto è
- Creato un oggetto fittizio, con 2 metodi per configurare,
- Configurato il metodo 'get_events' per restituire un array vuoto, e
- Dropped the mock nel costruttore.
Quello che mi piacerebbe fare ora è configurare il secondo metodo, ma non riesco a trovare nulla che spieghi come farlo. Voglio fare qualcosa come
$object
->expects($this->once())
->method('get_events')
->will($this->returnValue(array()))
->expects($this->once())
->method('set_properties')
->with($this->equalTo(array()))
o alcuni di questi, ma che non funziona. Come dovrei farlo?
Tangenzialmente, questo indica che ho strutturato male il mio codice, se ho bisogno di configurare più di un metodo per testare?
Ho provato questo, e non è sembrato funzionare. –
Sembra che sia davvero il modo corretto. Controlla la mia modifica. Forse c'è qualcos'altro che non va? Se condividi qualche pezzo di codice più completo, forse altri o io sarei in grado di aiutarti. –
Provato di nuovo, e ha funzionato. Grazie per l'aiuto! –