Я пытаюсь протестировать некоторую логику приложения, которая зависит от свойства Values в ControllerContext.RouteData.
До сих пор у меня
// 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);
Сбой unit test: System.ArgumentException: Invalid установка на не переопределение члена: г = > r.Values
Создание фальшивой RouteData не работает либо в качестве конструктора RouteData (RouteBase, IRouteHandler).
Важным классом здесь является абстрактный класс RouteBase, который имеет метод GetRouteData (HttpContextBase), который возвращает экземпляр RouteData, класс, который я пытаюсь подделать. Принимая меня кругами!
Любая помощь по этому поводу будет приветствоваться.