如何在ASPNET中模拟实体?

时间:2019-06-06 11:31:24

标签: c# .net entity-framework mocking

我需要为演示创建数据模拟,而无需访问数据库服务器。我如何开始创建它?

1 个答案:

答案 0 :(得分:0)

如果您使用的是依赖注入,则可以使用一个接口并让模拟对象实现该接口以返回模拟数据:

public interface IDataProvider
{
    object GetData();
}

public class Database : IDataProvider
{
    public object GetData()
    {
        // interact with database to get data

        throw new NotImplementedException();
    }
}

public class MockDatabase : IDataProvider
{
    public object GetData()
    {
        return new List<string>
        {
            "some_mock_data"
        };
    }
}

然后在您的依赖项注入设置代码中,注册MockDatabase实现而不是Database实现。

// services.AddSingleton<IDataProvider, Database>();
services.AddSingleton<IDataProvider, MockDatabase>();