我正在尝试测试一个ActionResult
返回部分视图的。此操作检查用户使用的是 IE7 还是 IE8,如果用户使用的是 IE7 或 8,将返回不同的部分。这是因为我们使用的 java-script 不能完全使用 7 或 8,所以我们将区别对待。
我省略了模型创建,因为我只想专注于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
if 呢? - 这甚至是在控制器内部做的好习惯吗?如果不是什么解决方案会更好?
我试过的:
var browser = new Mock<HttpContext>(MockBehavior.Strict);
browser.Setup(x => x.Request.Browser).Returns("IE9");