잊지 않겠습니다.

'TDD'에 해당되는 글 1건

  1. 2009.12.27 ASP .NET MVC에서 Routing Test
Mockup class를 이용한 Routing test code
URL 테스트는 Rest 및 개발에서 가장 중요한 사항중 하나인데. 테스트코드보다 직접 실행해서 한번 테스트해보는 경우가 더 많은 것 같다.;



01.private string GetOutboundUrl(object routeValues)
02.{
03.    // Get route configuration and mock request context
04.    RouteCollection routes = new RouteCollection();
05.    MvcApplication.RegisterRoutes(routes);
06.    var mockHttpContext = new Moq.Mock<httpcontextbase>();
07.    var mockRequest = new Moq.Mock<httprequestbase>();
08.    var fakeResponse = new FakeResponse();
09.    mockHttpContext.Setup(x => x.Request).Returns(mockRequest.Object);
10.    mockHttpContext.Setup(x => x.Response).Returns(fakeResponse);
11.    mockRequest.Setup(x => x.ApplicationPath).Returns("/");
12.    // Generate the outbound URL
13.    var ctx = new RequestContext(mockHttpContext.Object, new RouteData());
14.    return routes.GetVirtualPath(ctx, new RouteValueDictionary(routeValues)).VirtualPath;
15.}
16.</httprequestbase></httpcontextbase>

이 code를 이용한 test code는 다음과 같이 적을 수 있다.
01.[Test]
02.public void Football_Page1_Is_At_Slash_Football()
03.{
04.    Assert.AreEqual("/Football", GetOutboundUrl(new
05.    {
06.        controller = "Product",
07.        action = "List",
08.        category = "Football",
09.        page = 1
10.    }));
11.}

URL의 테스트가 꼭 필요하긴 한데.. 요즘들어 일을 이런쪽으로 전혀 안하고 있다는 아쉬움이 많이 들고 있는듯.;
Posted by Y2K
,