如何解决Scalamock 期待最终
我正在使用 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
似乎在第一次评估时都无法通过测试。
解决方法
您应该将 AsyncMockFactory
与适当的测试套件和 Futures 结合使用,如 https://scalamock.org/user-guide/integration/
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。