Я пытаюсь написать некоторые модульные тесты для нескольких мертонов, которые зависят от объекта HttpContext. Я придумал следующий класс, но я не думаю, что это лучший способ сделать это.Модуль Тестирование Webform HttpContext Зависимый код?
internal class HttpContextMocking
{
public static HttpContext Context()
{
HttpContext context = new HttpContext(new SimpleWorkerRequest("", "", "", null, new StringWriter()));
context.Cache.Insert("SomeName", "value", null, DateTime.Now.AddMinutes(3), TimeSpan.Zero);
return context;
}
Я тогда называть этот макет HttpContext в моем тестовом модуле следующим образом:
[TestMethod]
[TestCategory("Web")]
public void Get()
{
HttpContext.Current = HttpContextMocking.Context();
object result = CacheUtility.Get("NonExistentItem");
Assert.IsNull(result);
}
есть лучший способ реализации этого, то, что будет чище, когда я начинаю добавить еще манекен данные.