Ho aggiornato il mio progetto web API alla versione più recente, utilizzando MVC 5 L'applicazione funziona correttamente ma questa linea di codice non funziona più sulla mia unità test:Test unità con dati di instradamento non funzionanti su API Web ASP.NET MVC 5
string uri = this.Url.Link("DefaultApi", new { id = savedOrganization.Id });
La proprietà Url del controller è ora nullo. questo è come mi configurare il controller finto:
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;
Prima di eseguire l'aggiornamento a MVC 5 stava funzionando benissimo.
Quando il debug del test mostra che la proprietà url è ora nulla