Heim >Java >javaLernprogramm >Wie teste ich unbestimmte Antworten mit Mockito und mehreren Methodenaufrufen?

Wie teste ich unbestimmte Antworten mit Mockito und mehreren Methodenaufrufen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-29 00:31:30534Durchsuche

 How to Test Nondeterminate Responses with Mockito and Multiple Method Invocations?

Testen unbestimmter Antworten mit Mockito und mehreren Methodenaufrufen

In Testszenarien, in denen eine Stub-Methode unterschiedliche Objekte für mehrere Aufrufe mit denselben Argumenten zurückgibt , ist es wichtig, unabhängig von der Rücksendeanordnung konsistente Ergebnisse sicherzustellen. Um dies zu erreichen, bietet Mockito eine elegante Lösung.

Betrachten Sie beispielsweise das folgende Testszenario, in dem ein ExecutorCompletionService zum Gruppieren und Verarbeiten von Aufgaben verwendet wird. Das Ziel besteht darin, zu überprüfen, dass das Ergebnis unabhängig von der Reihenfolge, in der die Aufgaben erledigt werden, konstant bleibt.

<code class="java">// ExecutorCompletionService completionService = new ExecutorCompletionService(service);
// for (Callable<T> t : ts) completionService.submit(request);</code>

Um die unbestimmten Antworten des Abschlussdienstes zu testen, kann man Mockitos thenReturn-Methode wie folgt nutzen:

<code class="java">when(completionService.take().get()).thenReturn(value1, value2, value3);</code>

Die thenReturn-Methode ermöglicht die Angabe mehrerer Rückgabewerte als Argumente und stellt so sicher, dass die Stubbed-Methode die gewünschten Objekte in der angegebenen Reihenfolge zurückgibt. Der erste Wert wird beim ersten Aufruf zurückgegeben, gefolgt vom zweiten und so weiter. Sobald alle Werte erschöpft sind, wird der letzte Wert wiederholt zurückgegeben.

Mit diesem Ansatz können Entwickler verschiedene Szenarien testen, in denen die Reihenfolge der Methodenaufrufe oder die Reihenfolge der zurückgegebenen Objekte keinen Einfluss auf das erwartete Ergebnis hat. Es vereinfacht das Testen und stellt sicher, dass der Code auch in unbestimmten Situationen robust und zuverlässig ist.

Das obige ist der detaillierte Inhalt vonWie teste ich unbestimmte Antworten mit Mockito und mehreren Methodenaufrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn