Kotlin MockK: Как перехватить Runnable, переданный в ExecutorService? - PullRequest
0 голосов
/ 31 января 2020

У меня есть @WebMvcTest, который тестирует @RestController, для которого требуется специальный ExecutorService @Bean, предоставляемый в библиотеке, то есть отсутствует в срезе.

Я не хотел превращать его в полный @ SpringBootTest, поэтому я хотел использовать только CompletableFuture.runAsyn c (). Итак, я попробовал это:

    every {
        //val captureLambda = captureLambda<Function<T>>()
        val captureRunnable = capture(slotRunnable)
         eventsExecutorService.submit(captureRunnable)
    } returns CompletableFuture.runAsync(slotRunnable.captured)

Но это не удалось, сказав, что lateinit var "captured" не был инициализирован.

Ожидается ли это? Это правильный способ сделать это? Или я что-то упустил?

...