Một trong những hành động của bộ điều khiển của tôi, một hành động đang được gọi trong yêu cầu Ajax, đang trả lại một URL cho phía máy khách để nó có thể thực hiện chuyển hướng. Tôi đang sử dụng Url.RouteUrl(..)
và trong quá trình kiểm tra đơn vị của mình, điều này không thành công do Controller.Url
tham số không được điền sẵn.
Tôi đã thử rất nhiều thứ, trong số những thứ khác đang cố gắng sơ khai UrlHelper
(thất bại), tự tạo một cái UrlHelper
có một RequestContext
cái còn sơ khai ( HttpContextBase
thất bại trong một RouteCollection.GetUrlWithApplicationPath
cuộc gọi).
Tôi đã tìm kiếm Google nhưng hầu như không tìm thấy gì về chủ đề này. Tôi có đang làm điều gì đó cực kỳ ngu ngốc khi sử dụng Url.RouteUrl
trong hành động Điều khiển của mình không? Có cách nào dễ hơn không?
Để làm cho nó tệ hơn nữa, tôi muốn có thể kiểm tra URL được trả về trong bài kiểm tra đơn vị của mình - thực tế tôi chỉ quan tâm đến việc biết nó đang chuyển hướng đến đúng tuyến đường, nhưng vì tôi trả lại một URL thay vì một tuyến đường, tôi muốn kiểm soát URL đã được giải quyết (ví dụ: bằng cách sử dụng gốc RouteCollection
) - nhưng tôi sẽ rất vui khi bắt đầu bài kiểm tra của mình.