Я получаю сообщение об ошибке NotSupportedException в своем модульном тесте с использованием Moq.Moq возвращает NotSupportedException в SearchAsync <T> test
У меня есть следующее испытание, которое издевается над результатом.
public class Person
{
public string Id { get; set; }
}
[Test]
public void List_Should_List_All_People()
{
//Arrange
const long total = 3;
var list = new List<Person>();
var queryResponse = new Mock<Task<ISearchResponse<Person>>>();
queryResponse.Setup(x => x.Result.Total).Returns(total);
for (var i = 0; i < total; i++)
{
list.Add(new Person { Id = Guid.NewGuid().ToString() });
}
queryResponse.Setup(x => x.Result.Documents).Returns(list);
Thread.Sleep(2000);
_elasticClient.Setup(x => x.SearchAsync(It.IsAny<Func<SearchDescriptor<Person>, ISearchRequest>>())).Returns(queryResponse.Object);
// Act
var response = _repository.List<Person>();
//Assert
response.Count().Should().Be(3);
}
queryResponse.Setup (х => x.Result.Total) .Returns (всего); < - исключение выбрасывается
Неверная установка на невиртуальном (переопределение в VB) член: фиктивный => mock.Result
Он работает синхронно без каких-либо проблем.
Любые предложения, как обойти это исключение?
Как я могу установить его как виртуальный?