Модульное тестирование IHttpModule

Как вы тестируете модуль HttpModuleв asp.net, учитывая это, HttpApplicationи HttpContextне реализуете интерфейс?

24.08.2008 18:00:54
3 ОТВЕТА

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

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

1
24.08.2008 18:14:04

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

2
24.08.2008 18:18:14
Можете ли вы указать мне на статью @Dale Ragan. PS: у меня нет доступа к Твиттеру
chugh97 5.02.2010 12:11:37
Я на самом деле имею в виду ответ прямо под этим :)
Mike 5.02.2010 18:38:31

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

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

0
29.12.2010 16:08:12