2
我有一個asp.net mvc應用程序,它使用默認的用戶數據庫。這一切都很好,但我想爲它創建一些測試。我有一個測試項目,我馬上偶然發現了一個異常數據庫連接測試失敗
The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid.
但連接字符串可以正常使用(至少在MVC項目的web.config)。我的實體DB訪問邏輯構造函數拋出異常
public ASPNETDBEntities() :
base("name=ASPNETDBEntities", "ASPNETDBEntities")
{
this.OnContextCreated();
}
任何想法? 在此先感謝。
如果是第二段中的場景,上下文實際上被嘲弄,但是您想要利用模擬對象中的基礎對象上下文的屬性,該怎麼辦?你可以在app.config中放置一個模擬連接字符串嗎? – devlord 2013-10-17 00:09:21
@lorddev:我不太清楚你想描述什麼樣的場景,但是如果你不能發送一個「普通」的模擬對象,配置爲當你與它交互時返回你期望的任何對象,那麼你可能還沒有實現你的圖層的清晰分離 - 換句話說,你應該考慮重構你的代碼,以便更容易測試。 – 2013-10-20 19:35:46
我希望能夠在斷開的上下文模擬中訪問ObjectStateManager。發現它是內置於EF中的,並且取決於實際的ObjectContext,如果沒有有效的EF連接字符串,則無法創建該ObjectContext。 – devlord 2013-10-21 19:25:58