Kamrit
@Kamrit
QA Engineer

Как мокнуть асинхронный метод?

Есть интерфейс:
interface IRepository<TEntity> where TEntity : class
в котором есть метод Task<TEntity> FindOneAsync(string id);. Я пытаюсь мокнуть даный код:
private Mock<IRepository<Friendship>> _repository = new Mock<IRepository<Friendship>>();

_repository.Setup(x => x.FindOneAsync(It.IsAny<string>())).ReturnsAsync(()=> new Friendship());

но метод мне всегда возврасщает null.
Кто-то сталкивался уже с этим? Подскажите, что делать.
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
Kamrit
@Kamrit Автор вопроса
QA Engineer
Причина была в том, что не правильный FindManyAsync использовалось
помог следущий код:
_repository.Setup(x => x.FindOneAsync((It.IsAny<Expression<Func<Friendship, bool>>>()))).ReturnsAsync(friendship);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы