2015-10-08 133 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方法。