Was ist die beste Vorgehensweise zum Verifizieren eines Methodenaufrufs mit komplexen Parametern beim Komponententest?Best Practice für die Überprüfung von Einheitentestmethodenparametern
sagen, ich bin eine Funktion wie diese Prüfung:
class ClassA {
ClassB dependency;
void someFunction(SomeInputForA input) {
// do some thing
dependency.anotherFunction(differentInput);
}
}
Die beiden Optionen, die ich für die Überprüfung denken kann, dass someFunction
Anrufe anotherFunction
mit dem richtigen Eingang sind:
A) kann einen Verifizierungs auf der mock der Abhängigkeit für anotherFunction
unitUnderTest.dependency = mockClassB;
InputClass expectedDifferentInput = ... ;
verify(mockClassB).anotherFunction(expectedDifferentInput);
B) tun ein Argument Fänger auf den Anruf von anotherFunction
und behaupten t Aufruf er Eigenschaften
Gibt es hier einen vorgeschlagenen Pfad? Ich würde mich der Captur-Methode anlehnen, weil sie sich strenger anfühlt und nicht auf Objekte angewiesen ist, wenn die Implementierung korrekt ist.
Gedanken?
Ich würde die Werte erfassen und bestätigen, wenn sie von der Methode erstellt oder verwaltet werden. Wenn sie durchgereicht werden, d. H. Als eine Dienstleistung, dann ist A geeignet. – Compass