Ich benutze Rhino Mocks 3.5 und versuche in meiner Erwartung eine Ausnahme auszulösen, um einige Funktionen in meinem catch-Block zu testen.
Aber aus irgendeinem Grund gibt es keine Ausnahme.
%Vor%Also stemple ich den Aufruf der Funktion aus, um eine Ausnahme auszulösen, aber es wird keine Ausnahme ausgelöst.
Ich bin mir nicht sicher, warum es nicht für dich funktioniert. Ich habe ein kleines Sample erstellt und es funktioniert gut für mich. Schau dir diesen Code an:
Zuerst habe ich den Code erstellt, den ich testen möchte.
%Vor%Als nächstes werde ich eine Testmethode erstellen. In diesem Fall verwende ich MbUnit, aber es sollte mit jedem Unit-Test-Framework funktionieren.
%Vor%Ich hoffe, das hilft.
Wenn die Methode, mit der eine Ausnahme ausgelöst werden soll, Parameter enthält, müssen Sie .IgnoreArguments()
vor .Throw(new Exception())
hinzufügen.
Zum Beispiel habe ich festgestellt, dass Folgendes NICHT die Ausnahme auslösen würde:
%Vor%Aber Folgendes würde:
%Vor%Da Vadims Exception-wowing-Methode parameterlos war, funktionierte sie ohne Argumente zu ignorieren.
Sie müssen möglicherweise mehr Informationen und mehr Quellcode posten. Meine erste Vermutung wäre, dass die Methode, die Sie stampfen, nie in den Verbraucher getroffen wird.
Wird beim Durchlaufen des Codes die Stelle, an der _xyz.function (string) verwendet wird, getroffen?
Tags und Links c# unit-testing testing rhino-mocks