11

重複の可能性:
MOQでintを返すメソッドをモックする方法

これが私のインターフェースです:

public interface ICalenderService
    {
        DateTime Adjust(DateTime dateToAdjust, BusinessDayConvention convention, List<HolidayCity> holidayCities);
    }

私はいくつかの調査を行いましたが、これは簡単にモックできるようですが、Moqを使用してこれをスタブ化し、他のクラスのコンストラクターにスタブを渡して、DateTimeそのAdjustメソッドに必要なものをスタブに返すことができるようにします。

これを行う最も簡単な方法は何ですか?

編集:プロジェクトで独自のスタブを作成できることはわかっていますが、記述するコードを減らしたいので、Moqでそれを実行できると思います。構文がどのようになっているのか、わかりません。

4

1 に答える 1

22

次のようにスタブを設定します。

var calendarServiceStub = new Mock<ICalenderService>();

calendarServiceStub
    .Setup(c => c.Adjust(It.IsAny<DateTime>(), It.IsAny<BusinessDayConvention>(), It.IsAny<List<HolidayCity>>()))
    .Returns(theDateTimeResultYouWant);

calendarServiceStub.Object他のクラスのコンストラクターに渡します。

于 2012-05-08T20:18:15.390 に答える