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