Проблема с тестированием маршрута MVCContrib Fluent в ASP.NET MVC
-
10-10-2019 - |
Вопрос
У меня есть проблема с маршрутами тестирования с использованием тестирования маршрута MVCContrib. Тест не удается, но приложение распознает маршруты.
Позволь мне объяснить....
У меня есть следующие маршруты в моем регистре (показаны в порядке)
routes.MapRoute(
"PurchaseUnitsPaged",
"PurchaseUnits/Page{page}",
new { controller = "PurchaseUnits", action = "Index", page = 1 },
new { page = @"\d+" }
);
routes.MapRoute(
"PurchaseUnit",
"PurchaseUnits/{unitname}",
new { controller = "PurchaseUnits", action = "Show" }
);
Трубопровод маршрутизации правильно отправляет запросы на Индекс для маршрута 1 и Показывать для маршрута 2.
Однако, когда я проверяю маршрутизацию, используя классы MVCContrib Fluent, я получаю тест, сбой для маршрута 1.
Тест:
"~/PurchaseUnits/Page{page}".ShouldMapTo<PurchaseUnitsController>(x=> x.Index(1));
Тест не удается, потому что ожидание Индекс Но фактическое Показывать.
Любые идеи относительно того, почему классы Fluent не определяют правильную маршрутизацию, но маршрутизация MVC работает в реальном приложении? Или не удалось, что какие -либо предложения о том, как я могу настроить свой тест или маршруты, чтобы позволить мне полностью проверить?
Решение
"~/PurchaseUnits/Page1".ShouldMapTo<PurchaseUnitsController>(x=> x.Index(1));
> ?????? ~/PurchaseUnits/Page1
? ?? ~/PurchaseUnits/Page{page}
.