0
一般的な汎用メソッドのテストケースを記述しています。データベース構成はありませんが、メソッド汎用メソッドがIQueryableオブジェクトを処理しています。変数DbSet<Person> record
ので、私は、エンティティを追加するGetPersonDbSet()
しばらく例外が発生しましたC#でコンテキストなしでDbSetを初期化する - 黙示
[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);
}
:
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);
}
}
試験方法:だから、私は、次のコード
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;
}
オリジナルメソッドを試してみましたnull
で初期化されました。このプロジェクトでは、データベースコンテキストを使用していないため、初期化してコンテキストなしでこれを達成する方法を教えてください。
この作品は@Masteroでしたか? – mjwills