Конвертировать тест NMock2 в Moq
Я новичок в модульном тестировании и издевательствах. Я должен конвертировать модульные тесты в моем текущем проекте с использованием Moq. В настоящее время тесты используют Nmock2. Можете ли вы помочь мне с преобразованием этого кода (с использованием CollectAction) с использованием Moq:
Action<IScanFolder> publish;
Mockery mocks = new Mockery();
this.mockChannel= mocks.NewMock<IChannel>();
...
CollectAction collect = new CollectAction(1);
Expect.Once.On(mockChannel).Method("Subscribe").
With(p1, NMock2.Is.NotNull).
Will(collect);
...
mocks.VerifyAllExpectationsHaveBeenMet();
publish = collect.Parameter as Action<ISomeInterface>;
Заранее спасибо.
1 ответ
Решение
Обратный вызов - это Moq's CollectAction:
Action<ISomeInterface> publish;
mockChannel.Setup(c => c.Subscribe(p1, It.IsAny<TArg2>())).Callback((arg1, arg2) => publish = arg2)