Имитация объекта с помощью Moq, использование Ninject при выполнении UnitTesting

У меня проблемы с использованием Moq в проекте UnitTesting с Ninject.

Сначала несколько строк о моем решении. Он содержит несколько проектов (BussinesLogic, DAL, Infrastructure ...). Моя цель - протестировать логику, которую я использую в проекте BussinessLogic. Решение в основном предназначено для службы Windows, но я добавил логику, чтобы ее можно было запускать автономно. Я использую Ninject и указываю погоду, я хочу использовать ProductionModule или TestingModule (служба Windows использует ProductionModule, консольное приложение использует TestingModule)

Я использую заводской шаблон, чтобы получить ядро ​​ninject, когда оно мне нужно внутри моего приложения .

Мой TestingModule наследуется от NinjectModule, где я переопределяю метод Load () и выполняю привязку. Например:

Bind () .To ();

У меня есть StubStorageManager, но он пуст. Он содержит только объявление методов из IStorageManager.

Я бы хотел (с точки зрения непрофессионала): Создайте unitTest, в котором я бы создал новое ядро, указав TestingModule в качестве параметра. Затем я хотел бы создать фиктивный объект (скажем, макет IStorageManager) storageManagerMock. Какой-то метод в IStorageManager возвращает объект messageObject, поэтому мне, вероятно, придется издеваться над ним, потому что бизнес-логика что-то делает на основе этого messageObject. Поэтому я хотел бы каким-то образом установить свойства этого объекта сообщения, а затем вызвать для него какой-нибудь метод businessLogic, чтобы я мог видеть, правильно ли работает логика.

Надеюсь, я не слишком усложнял это.

Со мной я совершенно не знаком с издевательствами и внедрением зависимостей, но готов учиться.

7
задан Ruben Bartelink 1 May 2011 в 20:36
поделиться