2
私はIDataReader
以上の拡張メソッド(プロジェクトで使用されている)をモックすることを考えています。私はReadAll()
(下記)が呼び出されたときにテストデータのコレクションを返したいと思います。モックIDataReader拡張メソッド
public static IEnumerable<object[]> ReadAll(this IDataReader reader)
{
while (reader.Read())
{
var values = new object[reader.FieldCount];
reader.GetValues(values);
yield return values;
}
}
私はカスタムを返すことを目指していますIEnumerable<object[]>
コレクション。私はすべてのことが可能であるのならばしかし、私は、Read()
ブロックの下にモック実装する方法を考えることはできません、カスタムコレクションに対して数を確認することで
int count = -1;
var testData = ReadData(); //Custom collection
DataReaderInfoMock.Setup(x => x.DataReader.Read()).Returns(() => count < testData.Count() - 1).Callback(() => count++);
をRead()
方法を嘲笑しました。
私はそれをテストする方法はありますか?
方法は、間接を使用して、オブジェクトに呼び出しをラップし、READALL()を呼び出すメソッドを模擬することができます。 – vibhu