2016-12-08 2 views
0

Ich habe eine Klasse mit Methoden, die verschiedene Formen der gleichen Sache zurückgeben. Ich muss nur wissen, dass einer von ihnen angerufen wird und ich möchte nicht übermäßig einschränkend sein.Mockito Verify keine _default_ Interaktion

Ich habe versucht, die Standardantwort (zweites Argument auf mock()), um eine Ausnahme zu werfen, aber die Ausnahme wurde ausgelöst, auch wenn ich den Stub (d. H. In der when(...) Anruf) eingerichtet wurde! Die Dokumentation empfiehlt, dies auch nicht zu verwenden.

Gibt es eine Möglichkeit, nur die Methoden mit expliziten Stubs zu überprüfen/zulassen?

+0

Haben Sie die alternative Syntax 'doReturn (...) gebunden. When (mock) .method()'? – Brice

+0

Ich habe das berücksichtigt, aber es fühlt sich so hässlich an ... Die Dokumentation sagt auch, dass die Standardantwort für ältere Zwecke verwendet werden soll. –

+0

Es ist hässlich, aber es ist der einzige Weg. Die Dokumentation sagt, es ist vor allem nützlich für Legacy-Systeme, aber das bedeutet nicht, dass es die einzige Verwendung ist. Was mich jedoch hier betrifft, ist das gleiche wie bei einem Unit-Test. – Brice

Antwort

1

Offenbar gibt es eine ignoreStubs() in 1,9 hinzugefügt, die genau dies tut. Verwendung:

verifyNoMoreInteractions(ignoreStubs(mock, mockTwo)); 
Verwandte Themen