Добавить комментарий - CodeHelper

Добавить комментарий

Проект MvcContrib.TestHelper содержит классы-заглушки большинства объектов инфраструктуры ASP.NET MVC. Также есть специальные расширения специально для тестирования роутинга. Эти расширения позволяют тестировать простой роутинг вообще без самописных заглушек:

[TestFixture]
public class RoutesTester
{
    [SetUp]
    public void Init() /*[Инициализация теста]*/
    {
        RouteTable.Routes.Clear();
        MvcApplication.RegisterRoutes(RouteTable.Routes);
    }

    [Test]
    public void DefaultTest()
    {
        "~/aboute".Route().ShouldMapTo<InfoController>(c => c.Aboute());
    }
}

Важный момент — перед каждым тестом таблица роутинга очищается и заполняется заново. За это отвечает вот этот код:

[SetUp]
public void Init()
{
    RouteTable.Routes.Clear();
    MvcApplication.RegisterRoutes(RouteTable.Routes);
}

Такой подход отлично работает если метод контроллера получает аргументы примитивных типов. Но если экшен принимает сложные объекты, требующие работу байндеров, то ShouldMapTo не может правильно определить параметры роутинга.

Внимание! Вы собираетесь отправить информацию от имени анонимного пользователя.
v1.7.123.556
© 2009—2010 CodeHelper FAQ | О сайте | Обратная связь | История изменений | Статьи
Creative Commons LicenseМатериалы сайта распространяются под лицензией Creative Commons Attribution-Share Alike 3.0 Unported.