Я пытаюсь протестировать Flux.bufferMillis
с помощью виртуального планировщика, но время от времени это не удается. Ниже приведен код для
StepVerifier.withVirtualTime(new Supplier() {
Flux get() {
return Flux.interval(1 second).take(5).bufferMillis(1500);
}}
)
.thenAwait(5 seconds)
.expectNext(...)
.verifyComplete();
Ошибка, которую я периодически получаю, выглядит следующим образом:
java.lang.AssertionError: expectation "expectNextMatches" failed (expected: onNext(); actual: onError(java.util.concurrent.RejectedExecutionException: Scheduler unavailable))
Я не уверен, почему Scheduler иногда недоступен.
VirtualTimeScheduler
былdispose()
(или эквивалентным устаревшимshutdown
) - person Simon Baslé   schedule 07.03.2017scalatest
поведением по умолчанию при распараллеливании тестов (см. /gradle-scalest#parallel-testing). Виртуальное время StepVerifier зависит от того, устанавливается ли SchedulerFactory последовательно, а не параллельно. Можете ли вы попробовать без тестового параллелизма, просто для уверенности? - person Simon Baslé   schedule 07.03.2017