Я использую scalamock
для написания теста. Проблема в том, что действие асинхронно. У меня есть следующий псевдокод
val resultCollectorMock = mock[ResultCollector]
(resultCollectorMock.collectResult _).expect(someResult)
val serviceUnderTest = new ServiceUnderTest(resultColletorMock)
serviceUnderTest.runAsyncJob(someParams)
Это не удается, потому что результат вычисляется асинхронно, в то время, когда тест заканчивается, он все еще не готов, поэтому collectResult
не вызывался, пока.
Я хочу иметь expectEventually(value)(patiancConfig)
, который может некоторое время ждать вызова метода.
Я пытался вместо этого использовать sutb
и verify
, я завернул его в eventually
из scalatest
, но безрезультатно. По какой-то причине verify
, похоже, не прошел тест при первой оценке.