Question

Dans ASP.NET MVC, je peux obtenir des informations sur les tests unitaires d'itinéraires et d'itinéraires personnalisés, mais je ne peux pas comprendre comment effectuer des tests unitaires pour IgnoreRoute.

routes.IgnoreRoute (" {{ressource} .axd / {* pathInfo} "));

Le code pratique est très apprécié.

Framework ASP.NET MVC (partie 2): routage des URL

Conseil ASP.NET MVC n ° 13: testez à l’unité vos itinéraires personnalisés

Conseil ASP.NET MVC n ° 30 - Création de contraintes de routage personnalisées

Était-ce utile?

La solution

Je voudrais vérifier que le RouteHandler sur le RouteData pour un itinéraire correspondant au chemin ignoré est de type StopRoutingHandler;

    [TestMethod]
    public void TestIgnoredRoute()
    {
        // Arrange
        var routes = new RouteCollection();
        GlobalApplication.RegisterRoutes(routes);

        // Act
        var context = new FakeHttpContext("~/some.axd/path");
        var routeData = routes.GetRouteData(context);

        // Assert
        Assert.IsInstanceOfType( routeData.RouteHandler, typeof(StopRoutingHandler) );
    }

Autres conseils

Si vous utilisez la classe MvcContrib testhelper (http://nuget.org/packages/MvcContrib.Mvc3.TestHelper-ci), vous pouvez simplement la modifier:

[TestMethod]
public void TestIgnoredRoute()
{
    // Arrange
    RouteTable.Routes.Clear();

    // Act
    GlobalApplication.RegisterRoutes(RouteTable.Routes);

    // Assert
    "~/some.axd/path".ShouldBeIgnored();
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top