У меня проблема с тестированием маршрутов с использованием MVCContrib Fluent. Тест не пройден, но приложение распознает маршруты.
Позвольте мне объяснить ....
У меня есть следующие маршруты в моем реестре (показаны в порядке)
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, я получаю тестовый сбой для маршрута 1.
Тест:
"~/PurchaseUnits/Page{page}".ShouldMapTo<PurchaseUnitsController>(x=> x.Index(1));
Тест не пройден, так как ожидание равно Индекс , но фактическое значение равно Показать .
Есть идеи, почему беглые классы не идентифицируют правильную маршрутизацию, а маршрутизация mvc работает в реальном приложении? Или, если у вас нет предложений о том, как я могу настроить свой тест или маршруты, чтобы я мог полностью его протестировать?