Wie man Exception in neue Rhino-Mocks wirft 3.5

8

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.

    
alice7 05.01.2010, 17:24
quelle

4 Antworten

12

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.

    
Vadim 06.01.2010, 00:49
quelle
8

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.

    
Lisa 12.04.2010 07:56
quelle
2

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?

    
Phil Sandler 05.01.2010 19:07
quelle
1

Die Lösung für mich war wie folgt:

%Vor%

Beachten Sie den Aufruf .IgnoreArguments() .

    
frantisek 08.06.2010 11:35
quelle