ControllerContext.RouteData'daki Values özelliğine bağlı olan bazı uygulama mantığını test etmeye çalışıyorum. System.ArgumentException: olmayan bir geçersiz kılınabilir üyesinde Geçersiz ayarı: r => r.Values System.Web'deki RouteData Sınıfını Alıkoyma MVC uygulamaları için yeniden başlatma
sahte RouteData oluşturma
Şimdiye kadar
// Arrange
var httpContextMock = new Mock<HttpContextBase>(MockBehavior.Loose);
var controllerMock = new Mock<ControllerBase>(MockBehavior.Loose);
var routeDataMock = new Mock<RouteData>();
var wantedRouteValues = new Dictionary<string, string>();
wantedRouteValues.Add("key1", "value1");
var routeValues = new RouteValueDictionary(wantedRouteValues);
routeDataMock.SetupGet(r => r.Values).Returns(routeValues); <=== Fails here
var controllerContext = new ControllerContext(httpContextMock.Object, routeDataMock.Object, controllerMock.Object);
testi ile başarısız birim var Yapıcı RouteData (RouteBase, IRouteHandler) olduğu gibi çalışmıyor.
Burada önemli sınıf, RouteData'nın bir örneğini döndüren GetRouteData (HttpContextBase) yöntemine sahip olan ve sınıfını sahte yapmaya çalıştığım sınıf olan RouteBase sınıfıdır. Beni çevrelerde gezdirmek!
Bu konuda herhangi bir yardım gelebilir.
Lol, teşekkürler. Bu benim üzerimde problemi düşünmek üzerine bir durumdu. Çok basit. Şerefe. – Magpie