Я немного новое тестирование модулей и пытаюсь использовать Moq и MSTest в Visual Studio 2012, чтобы создать тест по методу для одного из моих приложений. Приложение работает как надо, но когда я запускаю мой тест, я получаю пустую ссылку исключение на следующем:Web API RouteUrl возвращает исключение null в тесте
var fooURL = Url.RouteUrl("MyApi", new { httproute = string.Empty, controller = "MyController", id = id }, Request.Url.Scheme);
Я пытался читать и обертывание моей головы вокруг ASP.NET MVC: Unit testing controllers that use UrlHelper, но они, как представляются, обеспокоены с тестированием самого URL. Я больше интересуюсь тестированием того, что приходит позже в моей функции.
Является ли установка, упомянутая в приведенной выше ссылке слишком маленькой (или слишком большой), чтобы мой тест работал? Или я смотрю в неправильном направлении?
Что такое null? Это 'Request' или' Request.Url' или 'Request.Url.Scheme'? – ashes999
К сожалению, я не знаю, как это определить. Все, что я получаю для сообщения об ошибке, это System.NullReferenceException: ссылка на объект не установлена в экземпляр объекта, и когда я дважды нажимаю на мой StackTrace, я попал в строку, указанную выше. –
без проблем. Загрузите TestDriven.NET; установить контрольную точку в тесте; щелкните правой кнопкой мыши, скажем, Test With, Debugger. Осмотрите переменные или используйте 'Watch', чтобы понять это. – ashes999