runWorkflow
withRetries
是来自外部库的函数,它将反复重新运行内部块,直到data.get().timeout
分钟到期。
client
是静态导入。 this是
runAction
(它在一个单独的文件中,也不是类的一部分):
internal fun runAction(data: Data, client: Client): Promise<Data> {
doSomethingWithClientOrData()
return somethingElse()
}
我需要测试时,当调用时,它会进行重试。我无法嘲笑或验证对runWorkflow
本身的呼叫。我认为我可以通过嘲笑对
withRetries
的呼叫来模拟重试行为,并在n运行后成功进行几次失败。然后,我将验证
runAction
成功返回。但是,这种行为看起来与仅被调用一次完全相同,然后在该呼叫上取得成功。 我不确定会强制执行什么样的测试,即通过重试来调用
runWorkflow
,或者如何模拟对runAction
的呼叫。
弥补您正在使用Mockk: 在那里,您可以在那里设置一系列响应。 例如,您可以设置一个模拟以失败两次,然后成功。
runWorkflow