如何模拟EF实体"包括"方法

时间:2013-02-26 14:02:43

标签: asp.net-mvc entity-framework unit-testing mocking

我的存储库图层方法以下列方式返回“abc”对象

return this.context.abc.Include(x => x.xyz);

返回类型为abc

我想模仿这个对象,以便它也包含xyz

private MockDbSet<abc> MockAbc()
{
    return new MockDbSet<abc>
    {
        Builder<abc>.CreateNew().Build(), 
        Builder<abc>.CreateNew().Build(), 
        Builder<abc>.CreateNew().Build(), 
        Builder<abc>.CreateNew().Build(),
    };
}

如何在嘲笑时加入xyz

2 个答案:

答案 0 :(得分:1)

模拟实体框架不是很容易,你有没有看过像Effort这样的工具?

答案 1 :(得分:0)

不是你正在寻找的答案,但实体框架不是模仿的笑话,你总是会得到一个“漏洞抽象”。不要这样做。

我认为您的EF查询应该包含在可以模拟输出的IService层中。