Asp.net-Mvc
“App_GlobalResources”未載入到單元測試案例中
我有一個測試控制器操作方法的單元測試方法。action 方法使用資源文件來獲取靜態消息。
message = Resources.MyResource.MemberNotVerified;然而,在這一行拋出的異常是: -
“無法載入文件或程序集‘App_GlobalResources’或其依賴項之一。系統找不到指定的文件。”:“App_GlobalResources”System.IO.IOException {System.IO.FileNotFoundException}
我嘗試在我的測試項目中處理整個資源文件,但沒有成功。
有什麼想法的朋友。
在幕後,App_GlobalResources使用**HttpContext.GetGlobalResourceObject**
當然,單元測試中沒有 HttpContext (除非你嘲笑它)。
如果您如此傾向於嘲笑它,Phil Haack在這裡有一篇不錯的文章。
還有另一種解決方案,就是將 RESX 文件移出正常目錄。
斯科特艾倫在這裡有一個文章。
另一種方法是更改您生成的資源文件的類型。
我希望有其他設置方法,但我們在文件的屬性中設置以下設置(在解決方案資源管理器中右鍵點擊文件並選擇屬性):
- 建構操作:嵌入式資源
- 複製到輸出目錄:不要複製
- 自定義工具:PublicResXFileCodeGenerator
- 資源:資源