最近我一直在進行大量的單元測試。引起我一個問題的一件事是查詢內存列表(通過模擬我的存儲庫)和通過實體框架直接查詢數據庫之間的區別。在單元測試中模擬數據庫/實體框架和內存列表之間的差異
有些情況可能是:
測試這將在內存中的集合,進而導致錯誤區分對數據庫不敏感,但區分大小寫 針對過濾參數失敗。
Linq的語句可能會通過對一個在內存中集合,但將無法針對實體框架,因爲他們arent支持導致假合格。
什麼是正確的方式來處理或解決這些差異,以便沒有錯誤的通行證或測試失敗?我真的很喜歡嘲笑,因爲它讓事情變得更快,更容易測試。但在我看來,獲得真正準確測試的唯一方法是僅針對實體框架/數據庫環境進行測試。
這是否意味着再次複製所有相同的測試(僅使用數據庫代替)?看來這將涉及很多工作和重複。那時我爲什麼要嘲笑,而不僅僅是通過針對數據庫寫測試來殺死兩隻鳥? – computrius 2012-03-23 22:55:49
@computrius:我更新了我的答案 – ChrisWue 2012-03-23 23:02:17