2012-11-08 3 views
9

Używam metody Setup() do skonfigurowania zachowania wyśmiewanej instancji interfejsu.moq: Podczas korzystania z Setup(), jak ustalana jest równość parametrów metody?

Metoda, którą konfiguruję (nazwijmy ją DoSomething()) akceptuje instancję klasy (nazwijmy klasę Foo).

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

Problem mam jest to, że podczas korzystania z makiety, nie pasuje do konfiguracji, więc nigdy nie zwraca 1.

Czy ktoś może pomóc? W jaki sposób Moq określa, czy parametry dostarczone do metody konfiguracji są równe, czy nie?

Odpowiedz

7

Odpowiedź na moje pytanie jest taka, że ​​Moq używa .Equals do ustalenia, czy parametry do skonfigurowania metod są takie same.

+0

R # to świetna pomoc, ponieważ może automatycznie generować metodę Equals dla twojej klasy. –

Powiązane problemy