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