【发布时间】:2021-04-15 15:13:24
【问题描述】:
我正在使用scalamock 编写测试。问题是动作是异步的。
我有以下伪代码
val resultCollectorMock = mock[ResultCollector]
(resultCollectorMock.collectResult _).expect(someResult)
val serviceUnderTest = new ServiceUnderTest(resultColletorMock)
serviceUnderTest.runAsyncJob(someParams)
这失败了,因为结果是异步计算的,在测试结束的时候,它还没有准备好,所以collectResult没有被调用,还。
我想要的是expectEventually(value)(patienceConfig),它能够等待一段时间才能调用该方法。
我尝试使用sutb 和verify 来代替,我将它包装在scalatest 中的eventually 中,但无济于事。无论出于何种原因,verify 似乎在第一次评估时就打破了测试。
【问题讨论】: