Модульное тестирование маршрутов - PullRequest
1 голос
/ 14 октября 2008

Допустим, я определил маршрут:

        routes.Add(new Route("Users/{id}", new MvcRouteHandler())
            {
                Defaults = new RouteValueDictionary(new { controller ="UserInfo", action = "UserInformation",
                id = ""}),
            });

Итак, как я собираюсь создать модульный тест, чтобы при представлении Users / 123 в URL-адресе обязательно вызывался метод действия UserInformation с параметром 123 в качестве?

Причина, по которой я спросил об этом, заключается в том, что я мог набрать неправильное имя при указании RouteValueDictionary, я мог неправильно набрать UserInformationss в темпе UserInformation. Есть ли способ предотвратить это?

Ответы [ 2 ]

3 голосов
/ 14 октября 2008

Вот статья о модульном тестировании пользовательских маршрутов:

http://weblogs.asp.net/stephenwalther/archive/2008/07/02/asp-net-mvc-tip-13-unit-test-your-custom-routes.aspx

2 голосов
/ 14 октября 2008

Не важно проверить, что вызывается действие UserInformation. Важно только убедиться, что при указании URL-адреса «UserInformation» находится в словаре значений маршрута с ключом «action», а значение «controller» с соответствующим именем контроллера.

Если это так, среда MVC гарантирует, что будет вызван метод UserInformation. Вам не нужно тестировать наш код с помощью вашего модульного теста, только ваш. Если наш код неверен, сообщите нам, и мы добавим модульный тест для нашего кода. :)

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