如何使用EF 6返回模拟数据?

时间:2013-11-04 20:15:33

标签: c# entity-framework unit-testing moq

我正在经历this tutorial,但它给我留下了很多问题。

  1. 说我有这个方法

    public void Test(Guid userId) {    var user = context.Users.First(x => x.Id == userId); }

  2. 如何设置moq以返回正确的用户?我必须首先创建一个充满用户的上下文,我想保持代码可维护,所以我想有一个方法生成所有虚拟上下文数据。

    1. 说我有这个

      public void Test(Guid productId)     {        var user = context.Users.Products.First(x => x.Id == productId);     }

    2. 在这种情况下,我基本上是在进行延迟加载。我如何填充产品?我是否只填充产品上下文,我是否需要支持产品上下文?在用户上下文中,我必须生成所有产品集合?

1 个答案:

答案 0 :(得分:0)

假设上下文实现了一个接口,你将创建一个moq上下文,然后使用moq设置moq以返回你想要的结果。

mockContext.Setup(m=> m.Products.First(Moq.It.IsAny<int>())).Returns(the product you want returned);