หนึ่งในตัวควบคุมของฉันการกระทำที่ถูกเรียกในคำขอ Ajax กำลังส่งคืน URL ไปยังฝั่งไคลเอ็นต์เพื่อให้สามารถทำการเปลี่ยนเส้นทางได้ ฉันกำลังใช้Url.RouteUrl(..)
และระหว่างการทดสอบหน่วยของฉันสิ่งนี้ล้มเหลวเนื่องจากController.Url
พารามิเตอร์ไม่ได้ถูกเติมไว้ล่วงหน้า
ฉันพยายามมากของสิ่งอื่น ๆ ในกลุ่มพยายามที่จะต้นขั้วUrlHelper
(ซึ่งล้มเหลว) ด้วยตนเองสร้างUrlHelper
ด้วยRequestContext
ที่มี stubbed HttpContextBase
(ซึ่งล้มเหลวในRouteCollection.GetUrlWithApplicationPath
การโทร)
ฉันค้นหาโดยใช้ Google แต่ไม่พบสิ่งใดเลยในเรื่องนี้ ฉันกำลังทำสิ่งที่โง่อย่างไม่น่าเชื่อที่ใช้Url.RouteUrl
ในการดำเนินการควบคุมของฉัน? มีวิธีที่ง่ายกว่านี้ไหม?
เพื่อให้แย่ยิ่งขึ้นฉันต้องการทดสอบ URL ที่ส่งคืนในการทดสอบหน่วยของฉัน - ในความเป็นจริงฉันสนใจเพียงแค่รู้ว่ามันกำลังเปลี่ยนเส้นทางไปยังเส้นทางที่ถูกต้อง แต่เนื่องจากฉันคืน URL แทน เส้นทางฉันต้องการควบคุม URL ที่ได้รับการแก้ไข (เช่นโดยการใช้ stubbed RouteCollection
) - แต่ฉันยินดีที่จะผ่านการทดสอบของฉันเพื่อเริ่มต้น