【问题标题】:How to Return Mocked Data Back With EF 6?如何使用 EF 6 返回模拟数据?
【发布时间】:2013-11-04 20:15:33
【问题描述】:

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

  1. 说我有这个方法

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

我如何知道我是否设置了起订量以返回正确的用户?我必须首先创建一个充满用户的上下文,并且我希望保持代码可维护,因此我希望有一种方法可以生成所有虚拟上下文数据。

  1. 说我有这个

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

在这种情况下,我基本上是在做延迟加载。如何填充产品?我是否只填充 Products 上下文我是否必须填充 Product 上下文并且在用户上下文中我必须生成所有产品集合?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 不,如果你看教程 Context 不是一个接口,它与 pre 6 EF 有些不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 2021-01-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-17
    • 2015-04-25
    相关资源
    最近更新 更多