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