FakeItEasyを使用して、呼び出しが発生したことをどのように表明しますか?
ユースケースは、リポジトリで動作するクラスを作成している場合です。メソッドの結果として、クラスは、DeleteAllを呼び出すか、すべての要素に対してDeleteを呼び出すことによって、リポジトリからいくつかの要素を削除する必要があります。
今のところ、私は次のようなtry-catchを使用しました。
try // either
{
A.CallTo(() => module.CardRepo.Delete(A<CardData>.That.IsEqualTo(dummy.CardData[0]))).MustHaveHappened();
A.CallTo(() => module.CardRepo.Delete(A<CardData>.That.IsEqualTo(dummy.CardData[1]))).MustHaveHappened();
}
catch (ExpectationException) // or
{
A.CallTo(() => module.CardRepo.DeleteAll(A<IEnumerable<CardData>>.That.Contains(dummy.CardData[0]))).MustHaveHappened();
A.CallTo(() => module.CardRepo.DeleteAll(A<IEnumerable<CardData>>.That.Contains(dummy.CardData[1]))).MustHaveHappened();
}
しかし、私はそれが好きではなく、より多くの選択肢のためにそれはすぐに本当に醜くなるでしょう。もっと良い方法はありますか?FakeItEasywikiで何も見つかりませんでした。