Ho un caso di utilizzo semplice. Voglio avere un metodo di configurazione che farà sì che il mio oggetto fittizio per restituire un valore predefinito:PHPUnit Mock Modificare le aspettative in seguito
$this->myservice
->expects($this->any())
->method('checkUniqueness')
->will($this->returnValue(true));
Ma poi in alcuni test, voglio restituire un valore diverso:
$this->myservice
->expects($this->exactly(1))
->method('checkUniqueness')
->will($this->returnValue(false));
I Ho usato GoogleMock per C++ in passato e aveva "returnByDefault" o qualcosa per gestirlo. Non riuscivo a capire se questo è possibile in PHPUnit (non c'è documentazione api e il codice è difficile da leggere per trovare quello che voglio).
Ora non posso semplicemente cambiare $this->myservice
in una nuova simulazione, perché durante l'installazione, la passo in altre cose che devono essere prese in giro o testate.
La mia unica altra soluzione è che perdo il vantaggio del setup e invece devo costruire tutti i miei mock per ogni test.
Come può questo risolvere il problema? Il metodo 'setUp()' sarebbe chiamato in ogni caso –
@MassimilianoArione si ma puoi ricreare il tuo '$ this-> myservice' e cambiare il valore di ritorno – rndstr