ASP.NET MVC HttpContext в тестовом методе - PullRequest
0 голосов
/ 22 июня 2011

У меня есть это в моем контроллере

public ActionResult Testing()
{
    CustomerContactModel model = new CustomerContactModel();
    ...
    HttpContext.Current.Session["xxxx"] = "Data";

    return PartialView("MyPartialView", model);
}

Я получаю исключение для HttpContext, когда запускаю действие контроллера из моего метода trest. Как я могу решить эту проблему?

Спасибо

Ответы [ 3 ]

1 голос
/ 22 июня 2011
0 голосов
/ 22 июня 2011

Вы должны издеваться над HttpContext в своих модульных тестах. Вот как вы можете сделать это с помощью Moq Framework: Как мне смоделировать HttpContext в ASP.NET MVC, используя Moq?

Но вы также можете использовать MvcContrib TestControllerBuilder, чтобы сделать это легко. У вас есть несколько примеров здесь: http://mvccontrib.codeplex.com/wikipage?title=TestHelper&referringTitle=Documentation

Советом на будущее будет также избегать зависимости от HttpContext в ваших действиях контроллеров.

0 голосов
/ 22 июня 2011

Вы можете использовать практически все, включая HttpContext, для методов тестирования:

Попробуйте этот пост для начинающих.

Лично я стараюсь, чтобы мои методы ActionResult не нуждались в тестировании, сохраняя весь важный код в контроллерах и за его пределами ... но если вы действительно хотите их протестировать, тогда имитация может быть очень полезной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...