Я сломал множество своих модульных тестов, когда добавил еще несколько приложений, поскольку я не использую Lazy Loading в EF. Перед моим Мок была установка линии это:Параметры настройки Moq linq включают в себя:
mockDocRepo.Setup(
x => x.GetBy(It.IsAny<Expression<Func<Doctor, bool>>>(), It.IsAny<Expression<Func<Doctor, object>>>()))
.Returns(stubDoctor);
Который работал нормально для одного включают однако добавление другого включают при вызове GetBy ломает все мои тесты. Например:
var doctor = _dbContextScope.Repository<Doctor>().GetBy(x => x.Id == DoctorId, y => y.Contracts, y => y.Leave.Select(x => x.Type));
Я попытался изменить мои настройки MOq принять массив It.IsAny<Expression<Func<Doctor, object>>[]>()
например, однако это не похоже на работу. Я также попытался просто добавив второй включить в настройках например
mockDocRepo.Setup(
x => x.GetBy(It.IsAny<Expression<Func<Doctor, bool>>>(), It.IsAny<Expression<Func<Doctor, object>>>(),It.IsAny<Expression<Func<Doctor, object>>>()))
.Returns(stubDoctor);
Это, кажется, в финале .Select(x => x.Type)
включают то, что ломает все.
Любые идеи о том, как исправить это было бы здорово.