ich TDD zu lernen versuchen und zu implementieren speziell Moq und ich bin gekommen, gegen ein Design verwenden, die ich nicht herausfinden kann, wie man spottet:kann nicht so etwas wie TableDomainService verspotten, wo die EntityContext in der Klassendefinition gesetzt
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);
}
}
}
Ich denke, ich muss den TableDomainService verspotten, damit ich meine AncestorDomainService-Logik testen kann, ohne Azure zu starten. Ich müde etwas wie folgt aus:
public class AncestorDomainService<TEntityContext> : TableDomainService<TEntityContext> where TEntityContext is a TableEntityContext
Aber die TableDomainService nicht wie ein Gattungswesen verwendet. Ich habe auch versucht, den EntityContext zu setzen, aber es ist nur lesbar. Ich habe gesehen, dass andere Leute das generische DomainService und das Repository-Designmuster verwenden, aber da TableDomainService es mir ermöglicht, Azure-Tabellen hinter den Kulissen zu verwenden, muss ich bei TableDomainService bleiben. <>. Muss ich nur den TableDomainService, den TableEntityContext und den TableEntitySet, der zurückgegeben wird, fälschen?