我需要为一个无法访问数据库服务器的演示创建一个数据模拟。我如何开始创建它?
如果您使用的是依赖注入,则可以使用接口并让模拟对象实现该接口以返回模拟数据:
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>();