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));
私は、配列例えば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)
のようです。
これを修正する方法については、どのようなアイデアも素晴らしいと思います。