Test de routes ASP.NET MVC avec MVC Contrib
-
18-09-2019 - |
Question
Je suis en train de mettre en place des tests de cartographie d'itinéraire en utilisant MVC Contrib comme décrit dans test ASP.NET MVC routes en utilisant MVC Contrib
Les tests compiler et exécuter, mais ils ne parviennent pas toujours avec le message « L'URL ne correspond à aucune voie. »
Je mis en place un autre test pour essayer d'obtenir une idée de ce que le problème est:
Public Sub TestIndexRoute()
Dim routes = New RouteCollection
myMvcApp.MvcApplication.RegisterRoutes(routes)
Assert.That(routes.Count > 0)
Assert.NotNull(routes("Default"), "Default route not found.")
Dim routeData = RouteTestingExtensions.Route("~/Author")
Assert.NotNull(routeData, "routeData is Nothing.")
Assert.That(routeData.Values("controller") = "Author")
End Sub
Ce test échoue sur Assert.NotNull(routeData, "routeData is Nothing.")
, donc je sais qu'il doit y avoir un problème avec le code MvcContrib qui tente d'accéder RouteCollection de mon application.
Du blog:
Il suppose également que vous définissez vos itinéraires dans l'objet ASP.NET MVC RouteCollection.
Comment puis-je confirme que je fais cela? J'utilise routes.MapRoute méthode au sein MvcApplication.RegisterRoutes dans le code global.asax derrière. Y at-il quelque chose à faire pour le mettre en place correctement?
Modifier Je devrais probablement mentionner que je suis nouveau pour les tests unitaires. J'ai mis hors de l'apprendre trop longtemps et cela semblait être aussi bon endroit pour commencer que tout.
La solution
Essayez:
MvcApplication.RegisterRoutes(RouteTable.Routes);
au lieu de:
Dim routes = New RouteCollection
myMvcApp.MvcApplication.RegisterRoutes(routes)