Я пишу некоторые модульные тесты в своем проекте, и у меня есть зависимость 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.
во второй строке при выполнении конструктора datacontexts.
Я явно упускаю фундаментальную часть при настройке этого, однако большинство примеров Moq, которые я видел, включают в себя какой-то тест на макетированный объект с использованием Setup()
.
Правильно ли я поступаю? Должен ли я создавать макет моего IDataContext
интерфейса или что-то еще?