Как протестировать User Control с помощью модуля, который полагается на объект Session

Я использую ASP.NET для создания приложения и последнюю версию фреймворка NUNIT для его тестирования. Я создаю пользовательский элемент управления для создания настраиваемого меню. Этот элемент управления в какой-то момент проверяет, существует ли конкретный объект в коллекции сеансов или нет, чтобы добавить некоторые элементы в меню.

Точная функциональность, которую он обеспечивает, такова: если зарегистрированный пользователь является обычным пользователем, отображает обычный набор ссылок, если зарегистрированный пользователь является администратором, добавьте дополнительные ссылки к уже отображаемым ссылкам. Элемент управления работает должным образом.

Моя проблема:
Я хочу взять управление за пределы веб-приложения и протестировать его отдельно в среде тестирования NUNIT. Меня беспокоит только то, что он полагается на существование объекта Session. Я не знаю, как смоделировать это внутри метода тестирования nunit, если это возможно, или есть альтернативные решения, о которых я не думал.


person Nikola Stjelja    schedule 13.11.2008    source источник


Ответы (1)


Вам нужно будет двигать фреймворк в правильном направлении, но вы можете сделать это с помощью http://righteousindignation.gotdns.org/blog/archive/2004/04/13/149.aspx.

Я предпочитаю заключать подобные операции в специальный класс, над которым мне легче подделать.

В качестве альтернативы вы, вероятно, можете использовать веб-тесты mstest для достижения тех же результатов.

person Cristian Libardo    schedule 13.11.2008
comment
Это тестовый фреймворк, включенный в Visual Studio 2008. Он похож на NUnit, но отличается =) - person Cristian Libardo; 13.11.2008