(! Подобно .NET how to fudge the HttpContext object).NET: как я могу проверить этот метод?
У меня есть метод, который я хочу, чтобы тест:
public void MyMethod()
{
if (HttpContext.Current.Application["myValue"] != null)
Console.WriteLine("Boo!");
}
Как я могу написать тест без рефакторинга метод так, что Console.WriteLine
ударил?
Я попытался с:
TextWriter tw = new StringWriter();
HttpWorkerRequest wr = new SimpleWorkerRequest("/webapp", @"path...", "logon.asp", "", tw);
HttpContext.Current = new HttpContext(wr);
HttpContext.Current.Application.Add("KeyValue", "myValue");
MyMethod();
но HttpContext.Current.Application.count всегда равна нулю, я не могу добавить значения к нему!
Отказывание HttpContext очень сложно. Если вы не можете реорганизовать или переработать это, попробуйте насмешливую структуру. – Steven
Привет, Стивен. Попробуйте насмешливую структуру? Если вы думаете, что я могу это сделать без рефакторинга метода, напишите annwer и explane. Я не думаю, что возможно – Bob