Domanda

Ho uno scenario come questo:

 form = MockRepository.GenerateMock<IAddAddressForm>();
 mediator = new AddAddressMediator(form);

Il mediatore è l'oggetto reale in prova e deve essere in grado di impostare i valori per l'oggetto "forma".

Ma l'unico modo che posso vedere per impostare i valori per l'oggetto forma è simile a questo:

  form.Stub(x=>x.FirstName).Return(item.FirstName)

Non voglio fare che nel mio codice reale.

Mi sto perdendo il punto di mock?

È stato utile?

Soluzione

Stubs hanno costruito a sostegno per il comportamento di proprietà. Nei casi in cui non si utilizza stub, è possibile utilizzare il PropertyBehaviour () metodo per un effetto simile.

All'interno del mediatore, si dovrebbe utilizzare l'oggetto form normalmente - non deve sapere che è stato consegnato un oggetto falso.

Il codice:

form.Stub(x=>x.FirstName).Return(item.FirstName)

non dovrebbe essere nel vostro oggetto reale, ma può essere parte della vostra test per impostare le aspettative per come si intende utilizzare il vostro oggetto fittizio.

Modifica

Da quello che hai fornito, non posso giudicare se si è "manca il punto di mock". Lo scopo essenziale è quello di fornire un modo per testare il codice che ha dipendenze in isolamento da tali dipendenze. Date un'occhiata al saggio di Martin Fowler " Mocks Non sono stub ", e l'uso sezione orientamento del Rhino Mocks documentazione .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top