Я пишу некоторые модульные тесты в своем проекте, и у меня есть зависимость datacontext от контроллера, содержащего методы, которые я хотел бы протестировать.Стыковка datacontext для объекта, который имеет зависимость
Я использую Ninject для инъекции зависимости и Moq для создания моего макета datacontext. Мой DI использует интерфейс IDataContext
, который вносит изменения в dbml и используется в процессе инъекции.
В моем модульном тестировании Я создаю мой макет DataContext следующим образом:
var mock = new Mock<IDataContext>();
var myController = new MyController(mock.Object);
Это бросает Object reference not set to an instance of an object.
исключения на вторую строке во время выполнения конструктора DataContexts.
У меня явно отсутствует фундаментальная деталь в настройке этого, однако большинство примеров Moq, которые я видел, включают какой-то тест против издевающегося объекта с использованием Setup()
.
Я собираюсь сделать это правильно? Должен ли я создавать макет моего интерфейса IDataContext
или что-то еще?
Можете ли вы показать стек вызовов для исключения? –
Также, что происходит в конструкторе MyController? Если мне пришлось опасаться догадки в этот момент, вам не хватает установки на объект-макет, который должен вернуть что-то, что используется в конструкторе. – cloggins
Спасибо за комментарии ребята. Я как раз собирался ответить, прежде чем melaos отправил ответ, который я искал. Еще раз спасибо за то, что нашли время для комментариев. –