Ich habe einen Controller mit einem Routing-Attribut. Dieser Controller versagt in einem Gerät zu testen, weil die Route nicht gefunden werden kann:Komponententests mit attributbasiertem Routing
A route named 'Values' could not be found in the route collection
Dies ist die Controller-Methode:
[Route("api/values", Name="ApiValues")]
[HttpGet]
public HttpResponseMessage Get()
{
urlHelper.Link("ApiValues", new {});
}
Das ist mein Unit-Test:
var valuesController = new ValuesController()
{
Request = new HttpRequestMessage
{
RequestUri = new Uri("http://localhost/api/")
},
Configuration = new HttpConfiguration()
};
valuesController.Get();
ich auch versuchte, dies zu dem Komponententest hinzuzufügen:
Aber das half nichts.
Es ist seltsam, dass ich nicht Ihr Problem repro kann. Alles funktioniert gut auf meiner Maschine. Welche Version von Webapi hast du benutzt? Haben Sie Ihren gesamten Testcode bereitgestellt? Ich denke, der Komponententest wird nicht über den Attribut-Routing-Teil ausgeführt. –
Was ist "urlHelper" in Ihrer Controller-Aktion? Kannst du es teilen? Danke –