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.

Était-ce utile?

La solution

Essayez:

MvcApplication.RegisterRoutes(RouteTable.Routes);

au lieu de:

Dim routes = New RouteCollection
myMvcApp.MvcApplication.RegisterRoutes(routes)

Voir RouteTestingExtensions, ligne 43

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