我正在使用Rhino Mocks來測試以下方法。如何在IDataReader中的GetName中設置值?
public static List<string> RetrieveColumnNames(IDataReader reader)
{
List<string> columns = null;
for (int i = 0; i < reader.FieldCount; i++)
{
columns.Add(reader.GetName(i));
}
return columns;
}
有這樣的事情,但不知道如何繼續:
[TestMethod()]
public void RetrieveColumnNamesTest()
{
//Arrange
IDataReader reader = MockRepository.GenerateStub<IDataReader>();
reader.Stub(x => x.FieldCount).Return(2);
reader.Stub(x => x.name...) // not gonna happen
//Act
using (reader)
{
List<string> list = RetrieveColumnNames(reader);
//Assert
Assert.AreEqual(2, list.Count);
}
}
但我怎麼能安排方法GetName
值測試?
感謝您的回答。我更新了代碼,但遇到nullreferenceexception。請參閱更新的代碼。還是很關心這個問題......謝謝 – user1888955
這個異常與Rhino Mocks無關,你只需要初始化你的列變量,如下所示:List columns = new List (); –
謝謝。我真的很愚蠢,因爲沒有注意到... – user1888955