Kann Mockito überprüfen Sie die Parameter basierend auf Ihre Werte zum Zeitpunkt des Methodenaufrufs?

Ich habe eine Foo - Klasse, die SUT und eine Bar Klasse, die seiner Mitarbeiter. Foo Anrufe run(List<Object> values) auf die Bar mit "expectedList" als argument. Dann Foo wird noch ein paar weitere Elemente zu dieser List damit seinen Status unterscheidet sich von dem, was es war zur Zeit der Berufung run(). Hier ist meine test-Fall.

@Test
public void testFoo() {
    Bar collaborator = spy(new Bar()); 
    Foo sut = new Foo(collaborator);
    verify(collaborator).run(expectedList);
}

Beachten Sie, dass der Mitarbeiter tatsächlich ein spy-Objekt, anstatt ein mock. Dieser Testfall fehl, denn obwohl run() genannt wurde, mit einem argument gleich expectedList es wurde verändert und der aktuelle Wert nicht mehr entspricht expectedList. Dies ist jedoch der Weg, wie es funktionieren soll, so Frage ich mich, ob es gibt einen Weg, um Mockito speichern der snapshot-Parameter, wenn eine Methode aufgerufen wird, und überprüfen Sie Sie anhand dieser Werte eher als die aktuellen Werte.

InformationsquelleAutor Tom Tucker | 2012-01-31
Schreibe einen Kommentar