我想創建一個訪問我的數據層獲取字符串的HtmlHelper的單元測試。我已經看了很多關於這個的帖子,我可能錯過了一些東西。我遇到的問題是如何模擬對數據層的訪問?我通常通過構造函數執行依賴注入,但我不能在這裏,因爲html助手需要是靜態的。所以我通過一個屬性設置了注入,但是如何從我的單元測試中訪問它。對不起,如果這是顯而易見的,但它現在攪亂了我。單元測試HtmlHelper,需要訪問數據層
這裏是我 -
public static class StringResourceHelper
{
#region Private Members
private static IStringResourceService _service;
#endregion
#region Public Properties
private static IStringResourceService Service
{
get
{
if(_service==null)
{
_service = (IStringResourceService)Bootstrapper.Container.Resolve(typeof(IStringResourceService));
}
return _service;
}
}
#endregion
#region Public Methods
public static string StringResource(this HtmlHelper helper, string label)
{
int languageCode;
if(helper.ViewData["LanguageCode"] == null || !Int32.TryParse(helper.ViewData["LanguageCode"].ToString(), out languageCode))
{
languageCode = Constants.LanguageCodes.English;
}
return Service.GetString(label, languageCode);
}
#endregion
}
如何嘲笑Service.GetString電話嗎?