Tôi có bộ điều khiển có thuộc tính định tuyến. điều khiển này không thành công trong một thử nghiệm đơn vị bởi vì con đường không thể được tìm thấy:Kiểm tra đơn vị với định tuyến dựa trên thuộc tính
A route named 'Values' could not be found in the route collection
Đây là phương pháp điều khiển:
[Route("api/values", Name="ApiValues")]
[HttpGet]
public HttpResponseMessage Get()
{
urlHelper.Link("ApiValues", new {});
}
Đây là bài kiểm tra đơn vị của tôi:
var valuesController = new ValuesController()
{
Request = new HttpRequestMessage
{
RequestUri = new Uri("http://localhost/api/")
},
Configuration = new HttpConfiguration()
};
valuesController.Get();
Tôi cũng đã cố thêm điều này vào bài kiểm tra đơn vị:
valuesController.Configuration.MapHttpAttributeRoutes();
valuesController.Configuration.EnsureInitialized();
Nhưng điều đó không giúp được gì.
Đó là kỳ lạ mà tôi không thể repro vấn đề của bạn. Mọi thứ hoạt động tốt trên máy của tôi. Phiên bản webapi bạn đã sử dụng là gì? Bạn đã cung cấp tất cả mã thử nghiệm của mình chưa? Tôi nghĩ rằng các bài kiểm tra đơn vị sẽ không chạy về phần định tuyến thuộc tính. –
"urlHelper" trong tác vụ điều khiển của bạn là gì? Bạn có thể chia sẻ đầy đủ không? Cảm ơn –