From: Kai Moritz Date: Tue, 26 Jul 2022 14:03:10 +0000 (+0200) Subject: Verhalten des Testfalls kontrollierbarer gemacht X-Git-Tag: endless-stream-consumer-DEPRECATED^2^2^2~1^2~3^2 X-Git-Url: http://juplo.de/gitweb/?a=commitdiff_plain;h=be1b513f8bd7646f9ceb3a7ba90952641e3af125;p=demos%2Fkafka%2Ftraining Verhalten des Testfalls kontrollierbarer gemacht * Die Awaitility-Aufrufe pollen den zu prüfenden Zustand wenn nicht anders angegeben so häufig, wie es die CPU zulässt - also ohne Verzögerung zwischen den Überprüfungen. * Das kann den Rechner temporär so überlasten, dass der erwartete Zustand in der abgewarteten Zeit gar nicht eintritt! * Z.B. aufgetreten, wenn wie hier das Commit-Interval auf 1 Sekunde gesetzt ist, das Polling von Awaitility aber noch ungebremst durchgeführt wird. * Um diese Quelle für falsche Fehler auszuschließen, wurde jetzt durchgängig ein Poll-Intervall von 1 Sekunde für Awaitility gesetzt. --- diff --git a/src/test/java/de/juplo/kafka/ApplicationTests.java b/src/test/java/de/juplo/kafka/ApplicationTests.java index 26a34e4..3bac537 100644 --- a/src/test/java/de/juplo/kafka/ApplicationTests.java +++ b/src/test/java/de/juplo/kafka/ApplicationTests.java @@ -40,7 +40,7 @@ import static org.awaitility.Awaitility.*; properties = { "consumer.bootstrap-server=${spring.embedded.kafka.brokers}", "consumer.topic=" + TOPIC, - "consumer.commit-interval=100ms" }) + "consumer.commit-interval=1s" }) @EmbeddedKafka(topics = TOPIC, partitions = PARTITIONS) @Slf4j class ApplicationTests @@ -84,10 +84,12 @@ class ApplicationTests await("100 records received") .atMost(Duration.ofSeconds(30)) + .pollInterval(Duration.ofSeconds(1)) .until(() -> receivedRecords.size() >= 100); await("Offsets committed") .atMost(Duration.ofSeconds(10)) + .pollInterval(Duration.ofSeconds(1)) .untilAsserted(() -> { checkSeenOffsetsForProgress(); @@ -112,6 +114,7 @@ class ApplicationTests await("Consumer failed") .atMost(Duration.ofSeconds(30)) + .pollInterval(Duration.ofSeconds(1)) .until(() -> !endlessConsumer.running()); checkSeenOffsetsForProgress(); @@ -120,6 +123,7 @@ class ApplicationTests endlessConsumer.start(); await("Consumer failed") .atMost(Duration.ofSeconds(30)) + .pollInterval(Duration.ofSeconds(1)) .until(() -> !endlessConsumer.running()); checkSeenOffsetsForProgress();