ASP.NET MVC에서 INGOREROUTE에 대한 단위 테스트 방법
-
03-07-2019 - |
문제
ASP.NET MVC에서는 경로 및 사용자 정의 경로에 대한 단위 테스트에 대한 정보를 얻을 수 있지만, INGOREROUTE에 대한 단위 테스트를 수행하는 방법을 알 수는 없습니다.
lours.ignoreroute ( "{resource} .axd/{*pathinfo}");
실용적인 코드는 대단히 감사합니다.
ASP.NET MVC 프레임 워크 (2 부) : URL 라우팅
해결책
무시 된 경로와 일치하는 경로에 대한 Routedata의 RouteHandler가 유형 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) );
}
다른 팁
mvccontrib testHelper 클래스 (http://nuget.org/packages/mvccontrib.mvc3.testhelper-ci)를 사용하는 경우 더 이상 추가로 할 수 있습니다.
[TestMethod]
public void TestIgnoredRoute()
{
// Arrange
RouteTable.Routes.Clear();
// Act
GlobalApplication.RegisterRoutes(RouteTable.Routes);
// Assert
"~/some.axd/path".ShouldBeIgnored();
}
제휴하지 않습니다 StackOverflow