Я пытаюсь проверить ActionResult
, который возвращает частичный вид. Это действие проверяет, использует ли пользователь IE7 или IE8, и возвратит другое частичное, если пользователь использует IE7 или 8. Это связано с тем, что используемый java-скрипт не работает с 7 или 8, поэтому мы будем относиться к нему по-разному.Mocking Request.Browser.Type in Unit Tests
Я отказался от создания модели, потому что хочу просто сфокусироваться на 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");