我有一个服务层,它有一系列方法。这些方法已经实现了缓存,如下所示:
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
my 内部CacheHandler
为空(显然)。
解决此问题的最简单方法是什么?
(请尽可能具体,因为我之前没有做过很多单元测试)