我正在嘗試編寫路由條目的測試方法,並且在我的路由配置中有很多條目用於不同的操作。我正在使用MvcContrib.TestHelper
進行測試。我是新來的MVC以及TDD。請幫我解決這個問題。我的測試用例失敗了,我能做些什麼才能讓它通過。在MVC4中使用mvccontrib測試幫助測試路由條目時發出的問題
路由項
routes.MapRoute(
name: "X1Details",
url: "X1/{X1ID}",
defaults: new { controller = "X1", action = "Index", X1ID = "X1ID" }
);
X1Controller
public ActionResult Index(int? instanceID = 0, string InfoMsg ="")
{
}
測試方法
[Test Method]
public void Should_Route_X1Index()
{
"~/X1/"
.ShouldMapTo<X1Controller>(action => action.Index(null, ""));
}
錯誤
試驗方法 XXX.Tests.MVCContibRouteMapTest.Should_Route_X1IndexOf 拋出異常:MvcContrib.TestHelper.AssertionException:價值 參數 'InfoMsg' 不匹配:預期 '' 但 '';沒有值 在名爲'InfoMsg'的路由上下文動作參數中找到 - 您的匹配路由是否包含名爲'InfoMsg'的令牌?
在此先感謝。
我無法更改簽名,因爲InfoMsg必須具有String.Empty的默認值 – kbvishnu