我有一個具有路由屬性的控制器。該控制器在單元測試失敗,因爲路徑找不到:基於屬性的路由的單元測試
A route named 'Values' could not be found in the route collection
這是控制器的方法:
[Route("api/values", Name="ApiValues")]
[HttpGet]
public HttpResponseMessage Get()
{
urlHelper.Link("ApiValues", new {});
}
這是我的單元測試:
var valuesController = new ValuesController()
{
Request = new HttpRequestMessage
{
RequestUri = new Uri("http://localhost/api/")
},
Configuration = new HttpConfiguration()
};
valuesController.Get();
我也試圖將其添加到單元測試中:
valuesController.Configuration.MapHttpAttributeRoutes();
valuesController.Configuration.EnsureInitialized();
但這沒有任何幫助。
奇怪的是,我不能瑞普您的問題請參考真棒解釋。一切工作正常在我的機器上。什麼是你使用的webapi版本?你提供了所有的測試代碼嗎?我認爲單元測試不會運行屬性路由部分。 –
控制器操作中的「urlHelper」是什麼?你能分享一下嗎?謝謝 –