1
我想測試返回部分視圖的ActionResult
。此操作將檢查用戶是否使用IE7或IE8,如果用戶使用IE7或8,則會返回不同的部分。這是因爲我們使用的java腳本與7或8不兼容,所以我們將對待它不同。在單元測試中嘲弄Request.Browser.Type
我遺漏了模型的創建,因爲我想只關注Request.Browser.Type
。
public ActionResult ActionName(string listing)
{
if (model.Count > 1 && Request.Browser.Type != "IE8" && Request.Browser.Type != "IE7")
{
return PartialView("~/Areas/Features/Views/Video/MultiVideo.cshtml", model);
}
return PartialView("~/Areas/Features/Views/Video/SingleVideo.cshtml", model.FirstOrDefault());
}
最後我想知道兩件事情
- 你怎麼能嘲笑
Request.Browser.Type
如果在所有? - 這是你的控制器內部的好習慣嗎?如果不是什麼解決方案會更好?
我曾嘗試:
var browser = new Mock<HttpContext>(MockBehavior.Strict); browser.Setup(x => x.Request.Browser).Returns("IE9");