MvcContrib의 ShouldMapTo 함수를 사용하여 경로 테스트에 예상되는 오류가 발생합니다. 결과에 따르면 모든 것이 정상이지만 도우미는 불행히도 스파 스 메시지가있는 AssertionException을 발생시킵니다. MVC1 및 해당 MvcContirb 사용하고 있습니다.MvcContrib ShouldMapTo TestHelper가 예기치 않게 AssertionException을 throw합니다.
[Test]
public void ThisShouldNotErrorButItDoes()
{
"~/District/ParticipantInfo/1907/2010".Route().Values.ToList().ForEach(r => Console.WriteLine(r.Key + ": " + r.Value));
Console.WriteLine(((Route)"~/District/ParticipantInfo/1907/2010".Route().Route).Url);
"~/District/ParticipantInfo/1907/2010".ShouldMapTo<DistrictController>(c => c.ParticipantInfo(1907, 2010));
}
첫 번째 두 행은 예외가 발생하지 않아야 함을 나타냅니다. {controller}/{action}/{districtNumber}/{surveyYear}의 올바른 경로와 일치하도록 올바른 컨트롤러, 액션, districtNumber 및 surveyYear를 매핑합니다.
내 경로 :
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Participation",
"{controller}/{action}/{districtNumber}/{surveyYear}",
new { controller = "District", action = "ParticipantInfo" });
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = string.Empty }); // Parameter defaults
}
내가지고있어 오류가 MvcContrib.TestHelper.AssertionException입니다 : 일치하지 않는 매개 변수의 값입니다. 가
사람이 여기에 대한 단서를 가지고 있습니까 RouteTestingExtensions.cs
의 내부 컨트롤러을 : 공공 정적으로 RouteData ShouldMapTo (이으로 RouteData으로 RouteData, 표현> 액션) TController : 나는이를 아래로 추적 한
하나?
감사합니다 (이 구식 약간 수 있습니다). 나는 이것에 대해 잊어 버렸다. 마지막 대답은 MvcContrib에 대한 소스 코드를 다운로드하고 바이너리가 아닌 소스에 링크하면 오류가 더 이상 발생하지 않는다는 것입니다. 우리는 우리가 사용하고 있던 .dll 버전에 이상한 버그가 있었음에 틀림 없어, MvcContrib.dll의 최신 버전을 사용하기 시작했다. – ARM