我有這需要一個IList<Person>
並返回一個IEnumberable作爲這樣的方法:試圖創建起訂量對象
internal static IEnumerable<Dictionary<string, string>> GetPersonsPerSite(IList<Person> Data)
{
//Implementation ...
}
,我試圖創造的IList<Person>
模仿對象,所以我可以測試這種方法。
使用起訂量我寫了下面的:
var mockObjects = new Mock<IList<Person>>();
mockObjects.Setup(x => x[0]).Returns(new Person()
{
SITE_ID = "test",
MPAN = "test",
ADDLINE1 = "test",
ADDLINE2 = "test",
ADDRESS_LINE_1 = "test",
ADDRESS_LINE_2 = "test"
});
但是當我來到使用了IEnumerable返回的跳投引發異常的對象Object reference not set to an instance of an object.
我全新到Moq,我很肯定我在這裏錯過了一個基本的概念,但是我已經成功地能夠用其他模擬對象拋出異常和修改輸出。
我很感激,如果有人能指出我在正確的方向。
好吧,所以我明白我必須讓事情過於複雜 – 2012-02-09 09:22:26
@ m.edmondson沒關係。將嘲笑應用到您看到的每個界面都很容易,並且忘記它只是爲了幫助您處理具有外部交互或難以設置的對象。 IList是自包含的,易於實例化,所以你不妨使用真實的東西。 –
2012-02-09 09:32:14
好的歡呼聲,有你的+1 – 2012-02-09 09:32:41