Convertire prova NMock2 a Moq
-
28-09-2019 - |
Domanda
Sono nuovo di unit testing e beffardo. Devo convertire i test di unità nel mio progetto in corso con l'utilizzo di Moq. Attualmente i test stanno utilizzando Nmock2. Mi potete aiutare con la conversione di questo codice (utilizzando delle CollectAction) con l'utilizzo di 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>;
Grazie in anticipo.
Soluzione
Callback è CollectAction di Moq:
Action<ISomeInterface> publish;
mockChannel.Setup(c => c.Subscribe(p1, It.IsAny<TArg2>())).Callback((arg1, arg2) => publish = arg2)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow