汎用リポジトリを Moq しようとしています。次のような SingleOrDefaultInclusive というメソッドがあります。
T SingleOrDefaultIncluding(Expression<Func<T, bool>> wherePredicate, params Expression<Func<T, object>>[] includes);
単体テストでは、次のように Moq を設定しました。
_agreementRepositoryMock.Setup(m => m.SingleOrDefaultIncluding
(
It.IsAny<Expression<Func<Agreement, bool>>>(),
It.IsAny<Expression<Func<Agreement, object>>>(),
It.IsAny<Expression<Func<Agreement, object>>>()
)
).Returns(AgreementMocks.GetOne());
どうにかして、SingleOrDefaultInclude に渡されたすべてのパラメーターが自分の同意書を返すように指定できますか? これを機能させるには、テストしているメソッドのように、正確に 3 つのパラメーターを渡す必要があります。または、どういうわけか配列を Moq に渡すことはできますか?