Использование Moq для назначения значения свойства при вызове метода

Я пытаюсь использовать Moq для назначения свойства при вызове метода.

Что-то по строкам:

Mock<ITimer> mock = new Mock<ITimer>();
mock.Setup(x=>x.Start()).AssignProperty(y=>y.Enabled = true);

Можно ли использовать Moq для установки ожидаемого значения свойства при вызове метода

Ответ 1

Я предполагаю, что вы пытаетесь по существу выполнить новую установку() в своем Mock при вызове метода? Если это так, вы должны иметь возможность сделать это с помощью обратного вызова, например:

Mock<ITimer> mock = new Mock<ITimer>();
mock.Setup(x=>x.Start()).Callback(() => mock.SetupGet(y => y.Enabled).Returns(true));

Это некрасиво, но это должно сделать трюк.