【发布时间】:2017-11-07 06:18:32
【问题描述】:
我正在为通用泛型方法编写测试用例,因为我没有任何数据库配置,但方法泛型方法正在处理 IQueryable 对象。所以,我尝试了以下代码
public static DbSet<Person> GetPersonDbSet() {
DbSet<Person> record = null;
record.Add(new Person() {
PersonId = 1,
FirstName = "Ram",
LastName = "Kumar"
});
record.Add(new Person() {
PersonId = 2,
FirstName = "Raj",
LastName = "Kumar"
});
return record;
}
原始方法:
public static class MyLib {
public static IQueryable Pagination<T>(IOrderedQueryable<T> query, int offset, int limit) {
// Validation Code (...)
// Main Logic
return query.Skip(offset).Take(limit);
}
}
测试方法:
[Fact]
public void CheckPagination() {
var query = GetPersonDbSet().OrderBy(i => i.FirstName);
var result = MyLib.Pagination(query, 1, 5);
int count = result.Count();
Assert.True(count > 0);
}
在添加实体时,GetPersonDbSet() 出现异常,因为变量 DbSet<Person> record 是用 null 初始化的。请帮助我如何在没有上下文的情况下初始化和实现这一点(因为在这个项目中我没有使用任何数据库上下文)。
【问题讨论】:
标签: c# linq-to-entities iqueryable xunit.net dbset