Mocking ein Objekt mit Moq, mit Ninject, wenn dabei UnitTesting

Ich habe Probleme mit Moq in ein UnitTesting-Projekt mit Ninject.

Zunächst ein paar Zeilen über meine Lösung. Es enthält mehrere Projekte (BussinesLogic, DAL, Infrastruktur...). Mein Ziel ist es, UnitTest die Logik, die ich verwende in BussinessLogic Projekt.
Die Lösung ist im Grunde für einen windows-Dienst, aber ich habe in der Logik, damit es ausgeführt werden kann Stand-alone. Ich bin mit Ninject und ich angeben Wetter-ich will das ProductionModule oder die TestingModule (windows-Dienst verwendet ProductionModule, Konsole-app nutzt TestingModule)

Bin ich mit einem factory-pattern, um zu bekommen, ninject-kernel, wenn ich es brauche in meiner Anwendung.

Meine TestingModule erbt von NinjectModule wo ich überschreiben Sie die Methode Load() und da ich die Bindung. Zum Beispiel:

Bind<IStorageManager>().To<StubStorageManager>();

Habe ich die StubStorageManager aber es ist leer. Es enthält nur die Deklaration der Methoden aus IStorageManager.

Die Sache, die ich tun möchte, ist (in laymans terms):
Erstellen Sie ein unitTest, wo ich erstellen Sie eine neue kernel-Angabe der TestingModule, wie es s-parameter. Dann würde ich gern ein mock-Objekt (sagen wir mal ein mock IStorageManager) storageManagerMock. Einige Methode in IStorageManager gibt eine messageObject, so würde ich Sie wahrscheinlich benötigen, um zu spotten, dass auch aufgrund der bussiness-Logik ist, etwas zu tun, basierend auf, dass messageObject. Also ich würde gerne irgendwie in den Eigenschaften festlegen, das message-Objekt und rufen Sie dann einige businessLogic-Methode auf, damit ich sehen kann, ob die Logik richtig funktioniert.

Ich hoffe, ich habe nicht kompliziert es zu viel.

Bitte Geduld mit mir, ich bin völlig neu mocking und dependency injection, aber bin bereit zu lernen.

InformationsquelleAutor Alex Dee | 2011-04-29
Schreibe einen Kommentar