別のプロジェクト(テストに使用されるクラスライブラリ)で(特定のASP.NET MVCプロジェクトの)コントローラー、アクション、およびパラメーターに対応するURLを生成するにはどうすればよいですか?
これまでに見つけたのはHtmlHelper.GenerateRouteLinkだけですが、正しいリクエストコンテキストとルートコレクションを渡す方法はまだ見つかりませんでした。
別のプロジェクト(テストに使用されるクラスライブラリ)で(特定のASP.NET MVCプロジェクトの)コントローラー、アクション、およびパラメーターに対応するURLを生成するにはどうすればよいですか?
これまでに見つけたのはHtmlHelper.GenerateRouteLinkだけですが、正しいリクエストコンテキストとルートコレクションを渡す方法はまだ見つかりませんでした。
これを試して:
var routes = new RouteCollection();
MvcApplication.RegisterRoutes(routes);
var context = new Mock<HttpContextBase>();
var urlHelper = new UrlHelper(new RequestContext(context.Object, new RouteData()), routes);
var url = urlHelper.Action("action", "controller", new { id = ... });
SO - ASP.NET MVCから: UrlHelper を使用する単体テスト コントローラー