Модульное тестирование IHttpModule - PullRequest
8 голосов
/ 24 августа 2008

Как выполнить юнит-тестирование HttpModule в asp.net, если HttpApplication и HttpContext не реализуют интерфейс?

Ответы [ 3 ]

2 голосов
/ 24 августа 2008

По сути, вам нужно удалить зависимость HttpModule от HttpApplication и HttpContext, заменив их интерфейсом. Вы можете создать свои собственные IHttpApplication и IHttpContext (вместе с IHttpResonse, IHttpRequest и т. Д.) Или использовать те, которые были упомянуты @Dale Ragan, или использовать новые блестящие в System.Web.Abstractions, которые связаны с превьюми asp.net mvc.

1 голос
/ 24 августа 2008

В прошлом, прежде чем перейти на ASP.NET MVC, я использовал эту библиотеку Фил Хаак создал для модульного тестирования все, что использовало HttpApplication и HttpContext. Он использовал библиотеку Duck Typing .

К сожалению, это был лучший способ сделать это. ASP.NET не был сделан, чтобы быть легко тестируемым. Когда они работали над ASP.NET MVC, одной из целей было избавиться от этих головных болей, сделав среду более тестируемой.

0 голосов
/ 29 декабря 2010

Вы можете использовать Isolation (mocking) framework. Мне известны два инструмента, которые позволяют вам подделать / смоделировать любые объекты .NET - Typemock Isolator и Telerik JustMock Я думаю, что вы также можете использовать Родинки .

Все вышеперечисленное позволит вам подделать любое событие объекта .NET, если оно не реализует интерфейс или даже не имеет публичного c'tor.

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