11
MVC 5を使用してWeb APIプロジェクトを最新バージョンにアップグレードしました アプリケーションは正常に動作しますが、このコードは私のユニットでは動作していませんテスト:ルートデータを使用したユニットテストがASP.NET MVC 5 Web APIで動作しない
string uri = this.Url.Link("DefaultApi", new { id = savedOrganization.Id });
コントローラのUrlプロパティがnullになりました。それがうまく働いていたMVC 5にアップグレードする前に
var config = new HttpConfiguration();
var request = new HttpRequestMessage(HttpMethod.Post, "http://xxx/api/organization");
var route = config.Routes.MapHttpRoute("DefaultApi", "api/{controller}/{id}");
var routeData = new HttpRouteData(route, new HttpRouteValueDictionary {{"controller", "organization"}});
controller.ControllerContext = new HttpControllerContext(config, routeData, request);
controller.Request = request;
controller.Request.Properties[HttpPropertyKeys.HttpConfigurationKey] = config;
controller.Request.Properties[HttpPropertyKeys.HttpRouteDataKey] = routeData;
: は、これは私がモックコントローラを設定する方法です。私はテストをデバッグするとき
はそれがUrlプロパティは、現在MVC 5にUrlプロパティは、別の方法で作成されたように見えます