1
我正在使用MvcContrib和TestControllerBuilder爲我的控制器編寫測試。使用TestControllerBuilder返回特定的UserHostAddress
我寫,看起來像這樣爲我的錯誤處理控制器測試:
public JsonResult HttpError()
{
Exception ex = null;
try
{
ex = (Exception)HttpContext.Application[Request.UserHostAddress.ToString()];
}
catch
{
}
if(ex != null)
{
return Json(new ErrorViewModel() { Message = ex.Message, Source = ex.Source, StackTrace = ex.StackTrace, Type = ex.GetType().Name}, JsonRequestBehavior.AllowGet);
}
else
{
return Json(new ErrorViewModel() { Message = "An error has occured." }, JsonRequestBehavior.AllowGet);
}
}
基本上,我的全局錯誤處理提出的最後一個異常到應用程序商店,這個控制器試圖把它拉回來了,將其轉換爲Json並返回它(我們將所有內容都返回爲Json,因爲這些方法僅作爲Web服務調用)。
爲了完全測試這個,我需要爲UserHostAddress包含可預測的內容,但由TestControllerBuilder設置的對象將該屬性留空。
我該如何做這項工作?我不確定如何在測試中完成這項工作。