2017-06-06 23 views
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で初期化されました。このプロジェクトでは、データベースコンテキストを使用していないため、初期化してコンテキストなしでこれを達成する方法を教えてください。

答えて

関連する問題