سؤال

أحاول إعداد اختبارات تعيين الطريق باستخدام MVC المساهمة كما هو موضح في اختبار طرق ASP.NET MVC باستخدام MVC Contrib

تقوم الاختبارات بتجميعها وتنفيذها، لكنها تفشل دائما مع رسالة "URL لم يتطابق مع أي طريق."

قمت بإعداد اختبار آخر لمحاولة الحصول على فكرة عما المشكلة هي:

    Public Sub TestIndexRoute()
        Dim routes = New RouteCollection
        myMvcApp.MvcApplication.RegisterRoutes(routes)
        Assert.That(routes.Count > 0)
        Assert.NotNull(routes("Default"), "Default route not found.")
        Dim routeData = RouteTestingExtensions.Route("~/Author")
        Assert.NotNull(routeData, "routeData is Nothing.")
        Assert.That(routeData.Values("controller") = "Author")
    End Sub

فشل هذا الاختبار Assert.NotNull(routeData, "routeData is Nothing."), ، لذلك أعرف أنه يجب أن يكون هناك مشكلة مع رمز MVCContrib الذي يحاول الوصول إلى RouteCollection الخاص بي.

من وظيفة بلوق:

كما يفترض أنك تقوم بتعيين طرقك في كائن RouteCollection ASP.NET MVC.

كيف أؤكد أنني أفعل ذلك؟ أنا أستخدم Routes.Maproute داخل MVCApplication.registerroutes طريقة في رمز Global.asax خلف. هل هناك شيء آخر يجب القيام به لتعيين هذا الأمر بشكل صحيح؟

يحرر: ربما يجب أن أذكر أنني جديد في اختبار الوحدة. لقد كنت أطرح تعلم ذلك لفترة طويلة، وهذا يبدو وكأنه مكان جيد للبدء في أي.

هل كانت مفيدة؟

المحلول

يحاول:

MvcApplication.RegisterRoutes(RouteTable.Routes);

بدلا من:

Dim routes = New RouteCollection
myMvcApp.MvcApplication.RegisterRoutes(routes)

يرى RoutetestingStensionsions، خط 43

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top