如何使用Moq執行與Effort相同的測試?


目前,我已經設置了許多測試,包括使用Effort的數據訪問層和業務邏輯層測試(請參閱https://effort.codeplex.com/ )。我們已經在單元測試中使用Moq,而我的老闆想要保持簡單,所以他希望我看看我是否可以將測試從Effort實現移到我們只有Moq和FakeDbSet(參見http:// aikmeng.com/post/62817541825/how-to-mock-dbcontext-and-dbset-with-moq-for-unit ),使代碼庫更易於維護。

據我所知,Effort基本上模仿了內存中的整個SQL Server數據庫。因此,似乎需要使用Moq來設置所有內容的大量代碼,以便只使用它來運行測試。有沒有人對此有任何想法?它甚至可以在沒有大量編碼的情況下完成嗎?有沒有人有什麼建議? TIA。

一般承認的答案

結束了努力。使用FakeDbSet和Moq需要更多的設置,並導致一些LINQ查詢在單元測試中失敗,即使它們在生產環境中工作。

更新:

事實證明,它不是FakeDbSet或Moq的問題 - 我的LINQ查詢中存在問題,如果存在空字符串值,它將失敗。





許可下: CC-BY-SA
不隸屬於 Stack Overflow
這個KB合法嗎? 是的,了解原因