Şu anda birim testi için Moq kullanmayı öğreniyorum ve denetimlerde yönlendirme işlevini birim sınamaya çalıştığımda sorun yaşıyorum. Aslında http://www.danylkoweb.com/Blog/how-to-successfully-mock-httpcontext-BT'daki talimatları takip ettim. Soğuk aşağıdaki gibidir:Moq to unit test Controller MVC6'da yönlendirme işlevi
RouteCollection routes = new RouteCollection();
RouteConfig.RegisterRoutes(routes);
moqRequest.Setup(e => e.AppRelativeCurrentExecutionFilePath).Returns("~/Home/Index");
RouteData routeData = routes.GetRouteData(moqContext.Object);
// Assert
Assert.IsNotNull(routeData);
Assert.AreEqual("Home", routeData.Values["controller"]);
Assert.AreEqual("Index", routeData.Values["action"]);
Ancak, ben Asp.Net5 + MVC6 içinde RouteConfig bulmak mümkün değilim. RouteConfig'ten ziyade MvcApplication kullanarak bazı makaleler gördüm, ancak onu da bulamamıştım. Kimse beni bu problemle ilgili bazı makalelere yönlendirmek veya sorunu çözmek için yardımcı oluyor mu? Teşekkür ederim.
'RouteConfig.RegisterRoutes' MVC6 şablonunun bir parçası değil. İzlediğiniz talimatlar, cevabınız için MVC framework – Nkosi
Hi Nkosi'nin daha eski bir sürümü içindir. MVC6'da yönlendirme işlevi için sahte testi nasıl yapacağı konusunda bir fikrin olup olmadığını sorabilir miyim? Teşekkürler. – Ben
Eh, testinizi düzenlerken 'RegisterRoutes''nın ne yaptığını yeniden oluşturmayı deneyebilirsiniz. Bu temelde ismin ima ettiği şeydi. rotaları kaydet. – Nkosi