我有一個服務層,它有一系列的方法。這些方法已經實現緩存,如下所示:如何對使用緩存的服務進行單元測試?
string key = "GetCategories";
if (CacheHandler.IsCachingEnabled() && !CacheHandler.ContainsKey(key))
{
var categories = RequestHelper.MakeRequest("get_category_index")["categories"];
var converted = categories.ToObject<List<Category>>();
CacheHandler.InsertToCache(key,converted);
return converted;
}
return CacheHandler.GetCache(key) as List<Category>;
現在,問題是我也要打個單元測試,如下所示:
[TestMethod]
public void GetCategories()
{
IContentService contentService = new ContentService();
var resp = contentService.GetCategories();
Assert.IsNotNull(resp,"Should not be null");
}
問題是,該HttpContext.Current
在我的CacheHandler
在單元測試期間顯然是空的。
解決此問題的最簡單方法是什麼?
它的工作!完善!這真的幫助我馬上:)犀牛嘲笑也非常好。謝謝 –