none
如何針對Entity Framework的靜態方法去做單元測試呢? RRS feed

  • 問題

  • 【問題描述】
    我是使用免費的Mock工具(例:Telerik.JustMock.EntityFramework),它們大多的方式似乎都是會建立一個Proxy物件,但假如是要測試靜態方法,像是說Entity Framework 的 AddOrUpdate,會跳出以下的錯誤:

    • 無法在衍生的 IDbSet<T> 類型 'Castle.Proxies.MockDbSet`1Proxy' 上呼叫公用執行個體方法 AddOrUpdate。找不到方法。

    【想問的問題】
    主要是想要測試說,我所寫的方法執行完AddOrUpdate後,最後是否有照我預期的執行「新增」或「修改」

    目前想到的解决方式:

    • 建立一個自己的MockDbSet,自行實作AddOrUpdate的方法

    本來想說Entity Framework的原始碼可能會有解决方法,但都只找到他去測試方法是否被呼叫」及「例外訊息是否有有拋出」,似乎沒有針對AddOrUpdate的主要邏輯去做測試,不知道大家都是如何做這方面的單元測試呢?




    • 已編輯 LiChunBin 2016年8月23日 上午 07:15
    2016年8月23日 上午 02:14

解答

所有回覆