Wie zu werfen die Ausnahme in der neuen rhino mocks 3.5
Ich bin mit rhino mocks 3.5 und versuche eine exception werfen, in meiner Erwartung zu testen einige Funktionen in meinem catch-block.
Aber für einige Grund es ist nicht das werfen der Ausnahme.
_xyz.stub(x => x.function(string)).throw(new exception("test string"));
So, ich bin Lunte aus dem Aufruf der Funktion zu werfen Ausnahme, aber es ist nicht das werfen der Ausnahme.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich bin mir nicht sicher, warum es funktioniert nicht für Sie. Ich erstellte eine kleine Probe und es funktioniert gut für mich. Werfen Sie einen Blick auf diese code:
Zuerst habe ich den code, den ich testen möchte.
Nächsten werde ich eine test-Methode. In diesem Fall bin ich mit MbUnit, es sollte aber mit jedem unit-Test-framework.
Ich hoffe, das hilft.
Es scheint, dass, wenn die Methode, die Sie wollen, um zu werfen eine exception Parameter hat, dann müssen Sie
.IgnoreArguments()
vor der.Throw(new Exception())
.Zum Beispiel, fand ich, dass das folgende würde NICHT werfen die Ausnahme:
Aber der folgende:
Weil Vadim exception-werfende Methode war parameterlosen, es funktionierte ohne Argumente.
Müssen Sie möglicherweise nach mehr Informationen und mehr Ihren Quell-code. Meine erste Vermutung wäre, dass die Methode, die Sie anstoßen, ist nie erste Treffer in der Verbraucher.
Als Sie Schritt durch den code, nicht den Ort, wo _xyz.Funktion(string) verwendet wird, getroffen zu werden?
Die Lösung für mich war, als die folgenden:
Hinweis: die
.IgnoreArguments()
nennen.