Я пытаюсь проверить .net core 2.2 API.Я испытываю трудности с издевательством (используя moq) dbcontext.Какой синтаксис для адаптации моего mockDbContext для использования.Я получаю исключение NullReferenceException.Так как Changetracker никогда не создается, я верю.Нужен ли другой подход?Я видел упомянутый .UseInMemoryDatabase (), но с очень небольшим количеством документации или хороших примеров.
Ниже приведен код, который я пытаюсь использовать в моем тесте [Fact].
var mockDbContext = new Mock<dbContext>(optionsBuilder.Options);
var controller = new HomeController(mockDbContext.object);
Затем используйтеконтроллер для проверки ... удален для краткости
var datafromdbcontext = controller.GetData();
Ниже приведен пример моего dbcontext.
public class dbContext:DbContext
{
public dbContext(DbContextOptions<dbContext> options)
: base(options)
{
//MAKE IT READONLY
ChangeTracker.QueryTrackingBehavior =
QueryTrackingBehavior.NoTracking;
}