Действия Контроллера Поблочного тестирования, которые называют IsAjaxRequest ()

У меня был бы к решительно второму ответ от Frank Krueger .

, Пока Вы говорите, Вам нужно регулярное выражение для соответствия адресу IPv6, я принимаю то, в чем Вы действительно нуждаетесь, должен быть в состоянии проверить, является ли данная строка допустимым адресом IPv6. Здесь существует тонкое, но важное различие.

существует больше чем один способ проверить, является ли данная строка допустимым адресом IPv6, и регулярное выражение, соответствующее, является только одним решением.

Пользуются существующей библиотекой, если Вы можете. Библиотека будет иметь меньше ошибок, и ее использование приведет к меньшему количеству кода для Вас для поддержания.

регулярное выражение, предложенное , Факторный Мистик длинен и сложен. Это, скорее всего, работает, но необходимо также рассмотреть, как Вы справились бы, если это неожиданно перестало работать. Мнение, которое я пытаюсь высказать здесь, - то, что, если Вы не можете сформировать необходимое регулярное выражение сами, Вы не будете в состоянии легко отладить его.

, Если у Вас нет подходящей библиотеки, может быть лучше записать Вашу собственную стандартную программу проверки IPv6, которая не зависит от регулярных выражений. Если Вы пишете его, Вы понимаете его и если Вы понимаете его, можно добавить комментарии для объяснения его так, чтобы другие могли также понять и впоследствии поддержать его.

закон с осторожностью при использовании регулярного выражения, функциональность которого Вы не можете объяснить кому-то еще.

9
задан Kirschstein 11 December 2009 в 18:36
поделиться

1 ответ

Поможет ли вам предоставить тестовый дублер для контекста HTTP?

Это можно сделать следующим образом:

var httpCtxStub = new Mock<HttpContextBase>();

var controllerCtx = new ControllerContext();
controllerCtx.HttpContext = httpCtxStub.Object;

sut.ControllerContext = controllerCtx;

где sut представляет тестируемую систему (SUT), то есть контроллер, который вы хотите протестировать.

В этом примере используется Moq.

12
ответ дан 4 December 2019 в 13:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: