Scalamock 期待最终

Scalamock expect eventually

我正在使用 scalamock 编写测试。问题是动作是异步的。 我有以下伪代码

val resultCollectorMock = mock[ResultCollector]
(resultCollectorMock.collectResult _).expect(someResult)

val serviceUnderTest = new ServiceUnderTest(resultColletorMock)
serviceUnderTest.runAsyncJob(someParams)

这失败了,因为结果是异步计算的,在测试结束的时候,它还没有准备好,所以collectResult没有被调用,

我想要的是expectEventually(value)(patienceConfig)能够等待一段时间来调用方法。

我尝试使用 sutbverify,我将其包装在 scalatesteventually 中,但无济于事。无论出于何种原因,verify 似乎在第一次评估时就打破了测试。

您应该将 AsyncMockFactory 与适当的测试套件和 Futures 一起使用,如 https://scalamock.org/user-guide/integration/

的文档中所述