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

Mockk: cannot specify an answer for method call

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

myService.trigger(id, processVariables, transientVariables)

... 其中“id”是一个字符串,“processVariables”是一个 Java Map 而“transientVariables”是一个 Kotlin MutableMap

如何在这种情况下的单元测试中指定 return 的答案?我尝试了以下方法:

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

...但是单元测试运行时出现错误:

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

在此先感谢您的帮助。

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

val map = mapOf("Key" to "Value")
every { processInstance.processVariables } returns map

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