У меня проблемы с использованием Moq в проекте UnitTesting с Ninject.
Сначала несколько строк о моем решении. Он содержит несколько проектов (BussinesLogic, DAL, Infrastructure ...). Моя цель - протестировать логику, которую я использую в проекте BussinessLogic. Решение в основном предназначено для службы Windows, но я добавил логику, чтобы ее можно было запускать автономно. Я использую Ninject и указываю погоду, я хочу использовать ProductionModule или TestingModule (служба Windows использует ProductionModule, консольное приложение использует TestingModule)
Я использую заводской шаблон, чтобы получить ядро ninject, когда оно мне нужно внутри моего приложения .
Мой TestingModule наследуется от NinjectModule, где я переопределяю метод Load () и выполняю привязку. Например:
Bind
У меня есть StubStorageManager, но он пуст. Он содержит только объявление методов из IStorageManager.
Я бы хотел (с точки зрения непрофессионала): Создайте unitTest, в котором я бы создал новое ядро, указав TestingModule в качестве параметра. Затем я хотел бы создать фиктивный объект (скажем, макет IStorageManager) storageManagerMock. Какой-то метод в IStorageManager возвращает объект messageObject, поэтому мне, вероятно, придется издеваться над ним, потому что бизнес-логика что-то делает на основе этого messageObject. Поэтому я хотел бы каким-то образом установить свойства этого объекта сообщения, а затем вызвать для него какой-нибудь метод businessLogic, чтобы я мог видеть, правильно ли работает логика.
Надеюсь, я не слишком усложнял это.
Со мной я совершенно не знаком с издевательствами и внедрением зависимостей, но готов учиться.