Я смог высмеять DbSet
из структуры сущности с помощью Moq, используя это link.Как Moq Entity Framework SqlQuery вызывает
Однако теперь я хотел бы знать, как я мог высмеивать вызов SqlQuery. Не уверен, что это возможно или как он полагается на насмешливый контекст db, зная, что вызывает запрос.
Ниже я пытаюсь высмеять.
var myObjects = DbContext.Database
.SqlQuery<MyObject>("exec [dbo].[my_sproc] {0}", "some_value")
.ToList();
Я в настоящее время не пробовал ничего, так как не знал, как начать издеваться над этим примером.
насмешки в DbSet
ниже и повторно итерацию, я могу правильно издеваться возвращая DbSet
из MyObject
«S, но теперь пытаюсь издеваться в SQLQuery, который возвращает список MyObject
» с.
var dbContext = new Mock<MyDbContext>();
dbContext.Setup(m => m.MyObjects).Returns(mockObjects.Object);
dbContext.Setup(m => m.Database.SqlQuery... something along these lines
Это работало отлично подходит для меня. Для меня было предпочтительнее абстрагировать логику запросов в помощнике, как в принятом ответе выше. – JamesWampler