2013-07-31 2 views
0

Я новичок в MVC и TDD, поэтому, пожалуйста, пройдите ко мне!Использование UrlHelper внутри контроллера прерывает тест

У меня есть действие, которое необходимо перенаправить на другое действие. Для этого я построения базового URI следующим образом:

UrlHelper u = new UrlHelper(this.ControllerContext.RequestContext); 
string baseURI = u.Action("PayPalAuth", "Order"); 

Я адаптированный это из примеров кода системы PayPal (строка BaseUri = Request.Url.Scheme + ": //" + Request.Url.Authority + «/ Order/PayPalAuth?»;), Но, может быть, я не использовал лучший метод, чтобы придумать baseURI для целевого действия?

Основная проблема: когда я вызываю действие из теста модуля MSTest, я получаю исключение null в ControllerContext.

Какой самый простой способ решить эту проблему? Я нашел аналогичные вопросы о SO, но не могу их полностью соблюдать. Думаю, мне, возможно, придется использовать насмешливую структуру, но не знаю, с чего начать!

ответ

2

Какой самый простой способ решить эту проблему?

Обманом ControllerContext. Вот пример того, как это может быть достигнуто: https://stackoverflow.com/a/32672/29407

+0

Еще раз спасибо Дарин –

Смежные вопросы