Модульное тестирование событий жизненного цикла приложения - PullRequest
1 голос
/ 27 апреля 2011

Я создал класс, который наследует System.Web.UI.Page.

В этом классе я переопределяю некоторые события жизненного цикла приложения, такие как page_load и page_init. Прежде чем вызвать базу этих событий, я проверяю значения сеанса, куки и тому подобное.

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

1 Ответ

1 голос
/ 27 апреля 2011

Если вы умеете насмехаться над соответствующими объектами, вы можете просто напрямую вызывать методы жизненного цикла. Но я не знаю, хорошая ли это идея; ИМХО, любой отдельный обработчик событий жизненного цикла должен выполнять несколько задач, каждая из которых, вероятно, должна быть делегирована какому-то другому классу - и именно в этом коде вам следует проводить модульное тестирование.

Моя личная привычка заключается в том, что я тестирую код утилиты / службы / репозитория напрямую и оставляю код в событиях жизненного цикла напрямую только для тестов интеграции, а не для модульных тестов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...