2

私はユニットテストとモッキングが初めてです。現在のプロジェクトで、Moq を使用して単体テストを変換する必要があります。現在、テストでは Nmock2 を使用しています。Moqを使用して(CollectActionを使用して)このコードを変換するのを手伝ってもらえますか:

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>;

前もって感謝します。

4

1 に答える 1

1

Callback は Moq の CollectAction です。

Action<ISomeInterface> publish;    
mockChannel.Setup(c => c.Subscribe(p1, It.IsAny<TArg2>())).Callback((arg1, arg2) => publish = arg2)
于 2010-11-25T14:33:06.117 に答える