Asynchronous 斯卡拉莫克希望最终
我正在使用Asynchronous 斯卡拉莫克希望最终,asynchronous,scalamock,Asynchronous,Scalamock,我正在使用scalamock编写一个测试。问题是动作是异步的。 我有以下伪代码 val resultCollectorMock = mock[ResultCollector] (resultCollectorMock.collectResult _).expect(someResult) val serviceUnderTest = new ServiceUnderTest(resultColletorMock) serviceUnderTest.runAsyncJob(someParams)
scalamock
编写一个测试。问题是动作是异步的。
我有以下伪代码
val resultCollectorMock = mock[ResultCollector]
(resultCollectorMock.collectResult _).expect(someResult)
val serviceUnderTest = new ServiceUnderTest(resultColletorMock)
serviceUnderTest.runAsyncJob(someParams)
这会失败,因为结果是异步计算的,在测试结束时,它仍然没有准备好,因此没有调用collectResult
,但是
我想要的是expectfinally(value)(patiancConfig)
,它能够等待一段时间来调用方法
我尝试使用
sutb
和verify
来代替,我最终从scalatest
将其包装在中,但没有效果。无论出于何种原因,verify
似乎在第一次评估时就破坏了测试。您应该使用AsyncMockFactory
,并使用适当的测试套件和未来,如文档中所述,在哦,现在,我在搜索规范时感到有点尴尬,我没有注意到它,也许我没想到会在integration
下找到它。不管怎么说,它很有魅力,谢谢你!