(. Net core 3.1, EF core 3) У меня есть следующая настройка xUnit / Moq:
private readonly IDbContext _dbContext;
public MyTests()
{
var contextMock = new Mock<IDbContext>();
var dbSetMock = new List<MyEntity>
{
new MyEntity("...", "A"),
new MyEntity("...", "B"),
new MyEntity("...", "C"),
new MyEntity("...", "D"),
}.AsQueryable().BuildMockDbSet();
contextMock.Setup(x => x.MyEntities).Returns(dbSetMock.Object);
_dbContext = contextMock.Object;
}
public async Task GetValueTest()
{
var sut = new GetValueQueryHandler(_dbContext);
var result = await sut.Handle();
result.IsSuccess.ShouldBeTrue();
}
И в функции GetValueQueryHandler.Handler()
она вызывает
var ids = _dbContext.MyEntities.FromSqlRaw(sql);
Однако возникает ли ошибка?
Метод или операция не реализованы.
at Microsoft.EntityFrameworkCore.RelationalQueryableExtensions.FromSqlOnQueryable[TEntity](IQueryable`1 source, String sql, Object[] parameters)
at MockQueryable.TestAsyncEnumerable`1.CompileExpressionItem[TResult](Expression expression)
at MockQueryable.TestAsyncEnumerable`1.System.Collections.Generic.IEnumerable.GetEnumerator()
at Portal.Application.Restrictions.Queries.GetSymbolsAndTypes.GetSymbolsAndTypesQueryHandler.c__DisplayClass4_0.g__GetIds|0>d.MoveNext()