有人可以看看下面的代码,看看有什么问题吗?
[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() );
}
Run Code Online (Sandbox Code Playgroud)
谢谢
use*_*013 24
我设法自己解决了这个问题,如下所示
[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());
}
Run Code Online (Sandbox Code Playgroud)
对于该方法采用的每个参数,将类型参数传递给该Callback方法。
someMock
.Protected()
.Setup("SomeMethod", ItExpr.IsAny<string>(), ItExpr.IsAny<string>())
.Callback<string, string>((x, y) => {});
Run Code Online (Sandbox Code Playgroud)
上面的方法适用于Protected普通回调。