2012-11-08 6 views
9

Sto utilizzando il metodo Setup() per impostare il comportamento di un'istanza fittizia di un'interfaccia.moq: quando si utilizza Setup(), come viene determinata l'uguaglianza dei parametri del metodo?

Il metodo che sto configurando (chiamiamolo DoSomething()) accetta un'istanza di una classe (chiamiamo la classe Foo).

Foo foo = // Existing foo instance 
Mock<IMyInterface> mock = new Mock<IMyInterface>(); 
mock.Setup(x => x.DoSomething(foo)).Returns(1); 

Il problema che sto avendo è che quando uso il finto, non è mai corrisponde la messa a punto, in modo da non ritorna mai 1.

Qualcuno può aiutarmi? In che modo Moq determina se i parametri forniti per un metodo di impostazione sono uguali o meno?

risposta

7

La risposta alla mia domanda è che Moq utilizza .Equals per determinare se i parametri per impostare i metodi sono uguali.

+0

R # è di grande aiuto in quanto può generare automaticamente il metodo Equals per la classe. –