Question

J'ai un problème avec l'essai des itinéraires en utilisant les tests d'itinéraire Courant MvcContrib. Le test échoue encore l'application reconnaît les routes.

Laissez-moi vous expliquer ....

Je les routes suivantes dans mon registre (indiqué dans l'ordre)

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" }
            );

Le pipeline de routage envoie correctement les requêtes à Index pour la route 1 et Afficher pour la route 2.

Cependant, lorsque je teste le routage en utilisant les classes couramment MvcContrib je reçois un échec du test pour la route 1.

Le test est la suivante:

"~/PurchaseUnits/Page{page}".ShouldMapTo<PurchaseUnitsController>(x=> x.Index(1));

Le test échoue parce que l'attente est Index mais le plus réel Afficher .

Toutes les idées pour expliquer pourquoi les classes ne sont pas couramment identifient le routage correct mais le routage des travaux dans mvc l'application réelle? Ou à défaut des suggestions sur la façon dont je peux modifier mon test ou des routes pour me permettre de tester entièrement?

Était-ce utile?

La solution

Votre test doit être:

"~/PurchaseUnits/Page1".ShouldMapTo<PurchaseUnitsController>(x=> x.Index(1));

L'URL est ~/PurchaseUnits/Page1 et non ~/PurchaseUnits/Page{page}.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top