Я всегда фальсифицировал/издевался/ступил HttpContext как-то в ASP.NET (намного проще в ASP.NET MVC/MonoRail).Почему mock HttpContext, если он может быть построен?
Но я вижу, что сам HttpContext может быть построен легко, буквально с помощью пары строк кода.
var tw = new StringWriter();
var workerReq = new SimpleWorkerRequest("/webapp", @"c:\here\there\wwwroot", "page.aspx", tw);
var context = new HtpContext(workerReq);
Если мы будем обернуть этот код в то вроде этого он должен работать нормально, и, вероятно, мы можем даже сделать ASPX с помощью этого:
using(Simulate.HttpContext()) {
HttpContext.Current.BlaBla;
}
Так вопросы:
- Причины, по которым это НЕ должно быть сделано.
- Причины, по которым это ДОЛЖНО быть сделано.
- Почему он не широко используется (на самом деле я не помню ЛЮБЫЕ сообщения об этом).
Я помню одно сообщение, где Фил Хаак построил HttpContext, используя Reflection hacks.
Но, похоже, это просто не нужно.
Cheers,
Dmitriy.
mocking также отлично подходит для доступа к определенным условиям ошибки. – dbn