我试图在我的单元测试中使用如下代码,
/* Test setup code */
_routes = RouteTable.Routes;
MvcApplication.RegisterRoutes(_routes); //set up the routes as they would be in actual application
/* test code */
Expression<Func<SearchController, ActionResult>> actionFunc;
actionFunc = action => action.Results("x", 3, null);
RouteTestingExtensions.Route(
"~/Search/Results?searchText=x"
).ShouldMapTo<SearchController>(actionFunc);
问题是,这是失败的“预期结果是结果?searchText = x”
有没有人有一个解决方案可以让我测试一个 URL(带有查询字符串)是否解析为正确的控制器、操作和参数?
仅供参考,我在 Global.asax.cs 中没有明确的路由设置,因为默认路由适用于实际应用程序 - 它在此测试中不起作用。