5

次の方法をユニットテストしたいと思います。

void Insert(TEntity entity);

このメソッドのクラスはすでにモックされています(私はMoqを使用しています)。

ここで、状態ベースのテストを実行し、このメソッドが呼び出されたかどうかをMoqに通知したいのですが、オブジェクトをリストに挿入する必要があります。どうやってやるの?

useraccountRepository.Setup(r => r.Insert(useraccountBeforeLogin)).???

ここに何が来るの?イベントを発生させるraisesメソッドがあります。これは使えますか?

4

2 に答える 2

11

これは古いスレッドであることは知っていますが、これはアイテムがモックされたリポジトリから挿入されることをテストするために行ったことです。

var myRepositoryMock = new Mock<IMyRepository>();

var itemsInserted = new List<MyItem>();

myRepositoryMock 
    .Setup(i => i.InsertItem(It.IsAny<MyItem>()))
    .Callback((MyItem item) => itemsInserted.Add(item));
于 2016-08-17T15:02:59.617 に答える
3

コールバックを使用できます-いくつかの例がリストされています

于 2013-02-20T14:27:53.933 に答える