我正在嘗試爲返回複雜對象集合的服務編寫一些單元測試(IQueriable<MyObject>
來給出一個想法),我不知道如何處理該問題。單元測試返回集合的方法
考慮一下:
public IQueriable<MyObject> GetMyObjects(int someParameterA, int someParameterB) {...}
基本上,一個方法是,根據所傳遞的參數,將輸出相當複雜的對象的集合。
由於應用程序正在開發中,我可以使用本地SQL實例,並且我已經創建了一個方法,該方法將使用一些示例數據填充此DB,以便該服務可以使用某些內容。
我沒有太多編寫單元測試的經驗。好的,我會說實話,我沒有編寫單元測試的經驗。我看到的大多數例子都是用來做一些計算並返回一個結果的方法。因此可以將測試數據源附加到測試用例。如果一種方法要返回兩個數字的總和,那麼數據源將由三列組成:兩個數字和預期結果。因此,憑藉我對單元測試的有限知識,我試圖應用相同的邏輯來測試返回集合的方法......並且我不知道測試應該由什麼組成(我知道我可以輕鬆測試返回元素的數量),更不用說測試用例的測試數據源應該是什麼樣子了。
我知道VS2010有CollectionAssert
,但我想我的問題是,我不知道如何在這種情況下創建「預期」值。
對這些方法進行單元測試的最佳方法是什麼?
對於後期反應的真誠道歉。我編輯了我的問題。我可以輕鬆地重新創建服務使用的數據庫來返回集合,因爲整個事件仍在開發中(雖然我猜這可能不是最好的解決方案......但在這一點上,這是我得到的最好的解決方案)。我的問題是與測試用例一起使用的數據源。我希望我的問題現在更清楚。 – Shaamaan