我有點新的單元測試,並試圖在Visual Studio 2012中使用Moq和MSTest爲我的應用程序之一創建方法的測試。該應用程序的工作,因爲它應該,但是當我跑我的測試,我得到以下一空引用異常: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 2013-03-25 15:17:33
不幸的是,我不知道如何確定。所有我收到的錯誤消息是System.NullReferenceException:對象引用未設置爲對象的實例,當我雙擊我的StackTrace時,我被帶到上面提供的行。 – 2013-03-25 15:24:44
沒問題。下載TestDriven.NET;在測試中設置一個斷點;單擊鼠標右鍵,說Test With,Debugger。檢查變量,或使用「Watch」來計算出結果。 – ashes999 2013-03-25 16:05:33