Mock:无法为方法调用指定答案



我的Kotlin类中有以下方法调用:

myService.trigger(id, processVariables, transientVariables)

其中";id";是字符串;processVariables";是Java映射<字符串,对象>以及";transientVariables";是Kotlin可变映射<字符串,任意>。

在这种情况下,我如何指定在单元测试中返回的答案?我尝试过以下几种:

every { myService?.trigger(MY_ID, any(), any()) } returns unit

但当单元测试运行时,我遇到了一个错误:

io.mockk.MockKException: no answer found for: MyService(#2).trigger(MY_ID, {}, {key=value})

提前感谢您的帮助。

一个可以编译并导致成功测试运行的解决方法是用值填充Map:

val map = mapOf("Key" to "Value")
every { processInstance.processVariables } returns map
every { myService?.trigger(EXECUTION_ID, map, any()) } returns unit

最新更新