2012-04-10 2 views
10

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

Что-то вдоль линий:

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

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

+0

Это, безусловно, должно быть. Я знаю, что Rhino сделает это, поэтому, если Мок это не удивительно. Я уверен, что это просто смешанный метод конфигурации или другая проблема с использованием. Но, я не знаю Мока, поэтому я позволю кому-то более осведомленному на самом деле ответить на вопрос. – KeithS

ответ

13

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

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

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

+2

Спасибо, что сделал это, хотя я пошел с mock.Setup (x => x.Start()). Callback (() => mock.Setup (x => x.Enabled) .Returns (true)); – Jon

Смежные вопросы