Dot-Net

單元測試 IQueryable

  • June 19, 2016

我正在嘗試為採用 IQueryable 集合的方法編寫單元測試。

在將集合傳遞給測試方法之前,我應該如何在單元測試中實例化集合?這是我測試中的預設程式碼

IQueryable<Item> Items = null; // TODO: Initialize to an appropriate value

這是我嘗試寫的

IQueryable<Item> Items = new IQueryable<Item>; // TODO: Initialize to an appropriate value

我犯了一個小學生的錯誤嗎?

好吧,您可以.AsQueryable()在任何類型的集合/列表/數組上使用,但是 IMO 您不能對此進行單元測試,因為不同的查詢提供程序支持不同的選項/方法。您只能對此進行集成測試。任何單元測試(尤其是使用對象的測試)都很少或根本無法證明您的系統

IQueryable 似乎是一個介面(http://msdn.microsoft.com/en-us/library/system.linq.iqueryable.aspx),你不應該嘗試實例化一個實現這個介面的類(或者可能使用用於測試的模擬對象)?

引用自:https://stackoverflow.com/questions/6599805