Testen nichtdeterministischer Antworten mit Mockito
Beim Testen von Code, der mit nichtdeterministischen Diensten interagiert, kann es schwierig sein, sicherzustellen, dass die Ergebnisse unabhängig davon konstant bleiben der Rückgabereihenfolge von Methoden. Erwägen Sie beispielsweise das Testen des folgenden Codes, der einen ExecutorCompletionService zum Gruppieren und Verarbeiten von Aufgaben verwendet:
ExecutorCompletionService completionService = new ExecutorCompletionService(service);
for (Callable t : ts)
completionService.submit(request);
for (int i = 0; i Um dieser Herausforderung zu begegnen, bietet Mockito eine Möglichkeit, nachfolgende Aufrufe einer Methode so zu konfigurieren, dass unterschiedliche Objekte zurückgegeben werden. Mithilfe der thenReturn-Methode können Sie die Objekte angeben, die in der folgenden Reihenfolge zurückgegeben werden sollen:
when(method-call).thenReturn(value1, value2, value3);
Jeder Wert wird nacheinander zurückgegeben, wobei der letzte Wert wiederholt verwendet wird, sobald alle anderen Werte erschöpft sind. Dadurch können Sie verschiedene Szenarien testen und sicherstellen, dass das Ergebnis unabhängig von der Rücksendebestellung konsistent bleibt.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3