Wie unit-Tests für IgnoreRoute in ASP.NET MVC
-
03-07-2019 - |
Frage
In ASP.NET MVC kann ich die Informationen über die unit-Test-für die Strecken und Routen, aber ich kann nicht herausfinden, wie unit-Tests für IgnoreRoute.
Routen.IgnoreRoute("{resource}.axd/{*pathInfo}");
Praktische code ist sehr geschätzt.
ASP.NET MVC-Framework (Teil 2):URL-Routing
ASP.NET MVC Tip #13 – Unit-Test Ihrer Benutzerdefinierten Routen
ASP.NET MVC Tip #30 – Erstellen Sie Benutzerdefinierte Route Constraints
Lösung
Ich würde überprüfen, dass die RouteHandler auf die RouteData für eine route matching ignoriert Weg geben 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) );
}
Andere Tipps
Wenn Sie die MvcContrib testhelper-Klasse (http://nuget.org/packages/MvcContrib.Mvc3.TestHelper-ci), können Sie simpifly es noch weiter:
[TestMethod]
public void TestIgnoredRoute()
{
// Arrange
RouteTable.Routes.Clear();
// Act
GlobalApplication.RegisterRoutes(RouteTable.Routes);
// Assert
"~/some.axd/path".ShouldBeIgnored();
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow