Dot-Net
單元測試 IQueryable
我正在嘗試為採用 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),你不應該嘗試實例化一個實現這個介面的類(或者可能使用用於測試的模擬對象)?