Я пытаюсь Мок мой общий репозиторий. У меня есть метод, называемый SingleOrDefaultIncluding который выглядит следующим образом:Can Moq игнорировать, сколько параметров передано funcion?
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());
Могу ли я какое-то образом определить, что какие бы параметры, переданное SingleOrDefaultIncluding он должен вернуть мое соглашение? Для выполнения этой работы я должен обязательно передать ровно 3 параметра, как в методе, который я тестирую. Или я могу каким-то образом передать массив в Мок?
Извините, мой ответ может быть неправильным. Вы собираетесь настраивать только тогда, когда массив имеет длину 2? Мой ответ (как он есть) пытается настроить _all_ вызовы. –