Написание модульного теста для представления с пользовательским базовым классом - PullRequest
1 голос
/ 20 января 2012

У нас есть веб-проект MVC 3 Razor, в котором мы указываем собственный базовый класс для наших представлений. В методе InitializePage этого базового класса представления мы выполняем некоторую инициализацию и сохраняем объект в ViewBag. Эта информация служит своего рода «моделью» для наших страниц макета. Одним из кусочков информации здесь является структурированное контекстное меню, которое отображается на страницах макета. Элементы в этом меню могут меняться в зависимости от пользователя, который вошел на наш сайт.

Мой вопрос заключается в том, как я могу выполнить модульное тестирование этого кода, который выполняется в классе базового представления. Поскольку этот код запускается только при визуализации представления, есть ли у меня какие-либо варианты, кроме макета контекста контроллера, в котором выполняется представление? Я видел несколько примеров в интернете об этом, и кажется, что это больше проблем, чем оно того стоит.

Любые мысли будут полезны. Спасибо!

1 Ответ

0 голосов
/ 20 января 2012

Для меня очевидным решением было бы извлечь этот код (или, по крайней мере, большую его часть) в метод другого класса.Тогда ваш класс View должен просто передать соответствующие значения этому методу, делая его метод InitializePage достаточно простым, чтобы он не нуждался в модульном тестировании.Вы можете тестировать метод независимо от класса View.

...