Вы используете SetupGet
для свойств. Поскольку вы издеваетесь над интерфейсом, никакой базовой реализации не будет, и вам придется также настроить метод.
Mock<myInterface> mock = new Mock<myInterface>(){CallBase = true};
mock.SetupGet(m => m.Id).Returns(1);
mock.Setup(m => m.ReturnsIdAsString()).Returns("1");
В качестве альтернативы вы можете заставить метод использовать лямбда-выражение при возврате, если вы собираетесь изменить возвращаемое значение свойства Id
.
mock.Setup(m => m.ReturnsIdAsString()).Returns(() => mock.Object.Id.ToString());
Помните, что даже если ваш класс вызывает m.Id = 42
, это не изменит Get
свойства, хотя вы можете проверить Set
.
mock.VerifySet(m => m.Id = 42);