Mam następujące połączenie metody w mojej klasie Kotlin:

myService.trigger(id, processVariables, transientVariables)

... gdzie "ID" jest sznurkiem "ProcesdiveVariate" jest mapą Java i "TransientVaRiate" to Kotlin MutableMap .

Jak określić odpowiedź, aby powrócić do testu jednostkowego w tej sytuacji? Próbowałem:

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

... ale otrzymuję błąd, gdy test jednostkowy:

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

Z góry dziękuję za wszelką pomoc.

0
GarlicBread 21 październik 2020, 05:04

1 odpowiedź

Najlepsza odpowiedź

Obejście, które można skompilować, a wyniki udanego testu testowego jest wypełnienie mapy z wartościami:

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

every { myService?.trigger(EXECUTION_ID, map, any()) } returns unit
1
GarlicBread 21 październik 2020, 21:28