Mein Test versucht zu behaupten, dass eine bestimmte Dal-Methode mit einigen Parametern aufgerufen wurde. Die Methode gibt ein Objekt DataSet
zurück, so dass mein Schein einfach einen leeren DataSet
zurückgibt, wenn er aufgerufen wird.Mischen von Stubs und Mocks in Rhino
Das Problem, das ich habe, ist, dass, wenn das SUT nicht die Dal mit den richtigen Parametern aufrufen, der Schein wird nicht die leere DataSet
zurückgeben, und meine Klasse wird eine Ausnahme beim Versuch, einen NULL-Verweis zugreifen. Dies führt nur dazu, dass der Test mit einer nicht verwandten Nachricht in meinem Test Runner fehlschlägt.
Ich möchte die Methode stub die Dataset
in allen Fällen zurückgeben, so dass die Methode ordnungsgemäß ausgeführt wird, und am Ende des Tests überprüfen, dass es mit den erwarteten Parametern aufgerufen wurde. frage ich zu viel?
Danke für den Tipp und Link. Also gibt es keine Möglichkeit für mich, eine Erwartung mit Argumenten zu setzen, und einen Stub mit "alles andere"? Da ich .NET 2.0 auf VS2005 verwende, kann ich keine Lambda- und Erweiterungsmethoden verwenden, die alles so viel hässlicher machen, dass ich die Verwendung minimieren möchte. –
Sie können die alte Syntax verwenden. Ich versuche es der Antwort hinzuzufügen. –
Im Moment verwende ich die AAA-Syntax. Ich verwende einfach RhinoMocksExtensions.Stub (dal, Delegat. Is.Anything); }).Rückgabe (neues DataSet()); Aber ich denke, ich werde einfach machen die Dal immer stub die Methode, und fügen Sie dann die Erwartung als "AssertWasCalled" wie Sie vorgeschlagen. Danke nochmal. –