我努力學習,特別是使用起訂量實現TDD設置,我碰到了一個設計,我無法弄清楚如何嘲笑:不能嘲笑像TableDomainService其中的EntityContext在類定義
namespace RIACompletelyRelativeWebService.Web.Services
{
[EnableClientAccess]
public class AncestorDomainService : TableDomainService<AncestorEntityContext>
{
public AncestorDomainService()
{
//this.EntityContext = new AncestorEntityContext();
}
public IQueryable<AncestorEntity> GetAncestorEntities()
{
return this.EntityContext.AncestorEntities;
}
public void AddAncestorEntity(AncestorEntity entity)
{
this.EntityContext.AncestorEntities.Add(entity);
}
}
}
我想我需要模擬TableDomainService,這樣我才能測試我的AncestorDomainService邏輯而不需要啓動Azure。我厭倦了這樣的事情:
public class AncestorDomainService<TEntityContext> : TableDomainService<TEntityContext> where TEntityContext is a TableEntityContext
但是,在TableDomainService並不想再使用一個通用的存在。我也嘗試設置EntityContext,但它是隻讀的。我見過其他人使用通用的DomainService和Repository設計模式,但由於TableDomainService是讓我在幕後使用Azure表的人,我想我必須堅持使用TableDomainService <>。我是否必須僞造返回的TableDomainService,TableEntityContext和TableEntitySet?