HttpContextWrapper все это .... полезно?C#

Место общения программистов C#
Ответить
Anonymous
 HttpContextWrapper все это .... полезно?

Сообщение Anonymous »

Я проходил процесс очистки кода нашего контроллера, чтобы сделать каждое действие как тестируемое. Вообще говоря, это не было слишком сложно-где у нас есть возможность использовать фиксированный объект, например, Say FormsAuthentication, мы обычно вводим какую-то форму обертки, как это необходимо и быть в нашем веселом пути. Доморощенный. Одна вещь, которую мы представили, была способность поменять HttpContextWrapper (например, для модульного тестирования). Кстати, это было полностью вдохновлено, как Орен Эйни обрабатывает модульное тестирование с помощью времени (см. Статью, шаблон, который мы также используем) < /p>

public static class FooHttpContext
{
public static Func Current = ()
=> new HttpContextWrapper(HttpContext.Current);

public static void Reset()
{
Current = () => new HttpContextWrapper(HttpContext.Current);
}
}
< /code>

Ничего особенно причудливого. И это отлично работает в нашем коде контроллера. Кикер пришел, когда мы отправимся на писать модульные тесты. Мы используем MOQ в качестве нашего насмешливого рамки, но увы < /p>

var context = new Mock()
< /code>

разрывы, так как httpcontextwrapper не имеет CTOR без параметра. А что это нужно как параметр CTOR? Объект httpcontext. Таким образом, я нахожусь в уловке 22. Я могу отобразить httpcontextbase, что оба из-за того, что это происходит, но это на самом деле не дает мне то, что я и после. Я просто упускаю точку зрения где -то в отношении httpcontextwrapper? < /p>

Редактировать, чтобы уточнить намерение < /strong> < /p>

Мы нашли способы решить проблему-но я думаю, что конечный вопрос, с которым мы уходим, является то, что httpcontextwrapper подносит к таблицу? Я не сомневаюсь, где у кого-то у кого-то был А-ха! момент с этим, но это просто не приходит ко мне. Большинство сообщений, которые я вижу здесь, обсуждают это с точки зрения тестируемости-но мой собственный опыт заставил меня поверить, что это не принесло многому в этом контексте. Если мы не делаем это неправильно. (Вполне возможно).

Подробнее здесь: https://stackoverflow.com/questions/240 ... hat-useful
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»