Ich implementiere lange Umfrage nach dem Frühjahr Blog von vor einiger Zeit .
Hier meine konvertierte Methode mit der gleichen Antwortsignatur wie zuvor, aber anstatt sofort zu antworten, verwendet sie jetzt lange Abfragen:
%Vor% Insbesondere möchte ich die pendingOnTimeout
-Antwort zurückgeben, wenn die Anfrage zu lange dauert (was ich unmittelbar zuvor zurückgegeben habe), um zu verhindern, dass Proxies die Anfrage abschneiden.
Jetzt denke ich, dass ich das so funktioniert habe, wie es ist, aber ich würde gerne einen Komponententest schreiben, der dies bestätigt. Alle meine Versuche, MockMvc (über webAppContextSetup) zu verwenden, liefern mir jedoch keine Möglichkeit, zu behaupten, dass ich einen Header accepted
erhalte. Wenn ich zum Beispiel folgendes versuche:
Ich bekomme den folgenden Stacktrace:
java.lang.IllegalStateException: Async-Ergebnis für Handler [public org.springframework.web.context.request.async.DeferredResult & gt; nl.bioprodict.blast.api.PollController.poll (java.lang.String)] wurde während des angegebenen timeToWait = 25000 nicht gesetzt bei org.springframework.util.Assert.state (Assert.java:392) at org.springframework.test.web.servlet.DefaultMvcResult.getAsyncResult (DefaultMvcResult.java:143) an org.springframework.test.web.servlet.DefaultMvcResult.getAsyncResult (DefaultMvcResult.java:120) unter org.springframework.test.web.servlet.request.MockMvcRequestBuilders.asyncDispatch (MockMvcRequestBuilders.java:235) bei nl.bioprodict.blast.docs.PollControllerDocumentation.pollPending (PollControllerDocumentation.java:53) ...
Die Frühjahrs-Framework-Tests im Zusammenhang damit, die ich finden konnte, verwenden alle spöttisch scheint: Ссылка
Wie kann ich die korrekte Behandlung von DeferredResult timeoutResult testen?
Tags und Links spring-mvc spring-mvc-test spring-web