2013-09-05 14 views
9

Czy ktoś może spojrzeć na kod poniżej i zobaczyć, co jest nie tak?wiele parametrów oddzwonić w Moq

[TestInitialize] 
    public void SetupMockRepository() 
    { 
     var memberId = "34345235435354545345"; 
     var title = "test"; 
     var url = "dafdsfdsfdsfdsafd"; 

     _mockPropertySearchRepository = new Mock<IPropertySearchRepository>(MockBehavior.Strict); 
     _mockPropertySearchRepository.Setup(p => p.SaveSearchURL(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>())).Callback<string,string,string>((id,t,u) => ).Returns(new SavedSearchReturnResult()); 
    } 

Dzięki

+0

Nie mogę przekazać 3 parametrów do wywołania zwrotnego. – user2388013

+0

należy do http://codereview.stackexchange.com/ –

Odpowiedz

17

udało mi się rozwiązać problem sama jak poniżej

[TestInitialize] 
public void SetupMockRepository() 
{ 
    var memberId = "34345235435354545345"; 
    var title = "test"; 
    var url = "dafdsfdsfdsfdsafd"; 


    _mockPropertySearchRepository = new Mock<IPropertySearchRepository>(MockBehavior.Strict); 
    _mockPropertySearchRepository 
     .Setup(p => p.SaveSearchURL(It.IsAny<string>(), It.IsAny<string>(), It.IsAny<string>())) 
     .Callback<string,string,string>(
      (id, t, u) => 
      { 
       memberId = id; 
       title = t; 
       url = u; 
      }) 
     .Returns(new SavedSearchReturnResult()); 
} 
1

Dla każdego parametru, że metoda ta, przekazać parametr typu metody Callback.

someMock 
    .Protected() 
    .Setup("SomeMethod", ItExpr.IsAny<string>(), ItExpr.IsAny<string>()) 
    .Callback<string, string>((x, y) => {}); 

Powyższe działa zarówno z Protected, jak i normalnymi zwrotami.

Powiązane problemy