2015-10-08 97 views
0

的功能设置列表参数我已经和接口IDatabaseInteraction:验证和模拟对象

public interface IDatabaseInteraction 
{ 
    void FillAppSection(List<AppSectionId> appSectionIds); 
} 

为AppSectionId的定义是:

public class AppSectionId 
{ 
    public string App; 
    public string Section; 
    public int Id; 
} 

我抽象数据库调用到IDatabaseInteraction该类下测试。 该列表出现在appSectionIds中的此测试用例1项目中,并在FillAppSection方法中进行更新,该Id将被填充。 我想检查项目应用程序和部分值,其次,我想设置Id。 如何使用moq来做到这一点?

回答

1

我通常会改变该方法返回List<AppSectionId>,因为我认为这更清晰。但是,如果你想继续这样,那么你可以使用起订量Callback方法,像这样:

Mock<IDatabaseInteraction> databaseInteraction = new Mock<IDatabaseInteraction>(); 
databaseInteraction.Setup(x => x.FillAppSection(It.IsAny<List<AppSectionId>>())).Callback((List<AppSectionId> x) => x.Add(someObject)); 

里面你就可以设置的List但是你喜欢的Callback方法。