Wie kann ich feststellen, dass eine bestimmte Methode mit NUnit aufgerufen wurde?

8

Wie kann ich testen, dass eine bestimmte Methode mit den richtigen Parametern als Ergebnis eines Tests aufgerufen wurde? Ich benutze NUnit .

Die Methode gibt nichts zurück. es schreibt nur in eine Datei. Ich verwende ein Mock-Objekt für System.IO.File . Ich möchte also testen, ob die Funktion aufgerufen wurde oder nicht.

    
Umair Ahmed 03.12.2009, 05:55
quelle

4 Antworten

10

Mehr Kontext ist notwendig. Also werde ich hier eine hinzufügen, Moq zum Mix:

%Vor%     
Dmytrii Nagirniak 03.12.2009, 06:05
quelle
11

Sie müssen ein spöttisches Framework verwenden, wie zB Typemock oder Rhino Mocks oder NMocks2 .

NUnit hat auch einen Nunit.Mock , aber es ist nicht bekannt.

Die Syntax für moq finden Sie hier :

%Vor%

Beachten Sie auch, dass Sie nur Schnittstelle vortäuschen können. Wenn Ihr Objekt von System.IO.File also keine Schnittstelle hat, können Sie das wahrscheinlich nicht tun. Sie müssen Ihren Aufruf in System.IO.File innerhalb Ihrer eigenen benutzerdefinierten Klasse für den Job umbrechen.

    
Graviton 03.12.2009 05:59
quelle
3

Indem Sie einen Schein für eine Schnittstelle verwenden.

Angenommen, Sie haben Ihre Klasse ImplClass , die die Schnittstelle Finder verwendet, und Sie möchten sicherstellen, dass die Funktion Search mit dem Argument "Hallo" aufgerufen wird;

Wir haben also:

%Vor%

und

%Vor%

Dann können Sie einen Mock für Ihren Testcode schreiben

%Vor%

dann der Testcode:

%Vor%     
tster 03.12.2009 06:02
quelle
2

In Rhino Mocks ist eine Methode namens AssertWasCalled

Hier ist eine Möglichkeit, es zu benutzen

%Vor%
    
Hans Lindskog 17.12.2014 15:39
quelle

Tags und Links