MVCContribFluentルートテストを使用したルートのテストに問題があります。テストは失敗しますが、アプリケーションはルートを認識します。
説明させてください…。
私の登録簿には次のルートがあります(順番に表示されています)
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));
期待値はIndexですが、実際はShowであるため、テストは失敗します。
流暢なクラスが正しいルーティングを識別していないのに、MVCルーティングが実際のアプリケーションで機能する理由についてのアイデアはありますか?または、完全にテストできるようにテストまたはルートを微調整する方法についての提案に失敗しましたか?