Usando Mockito doAnswer en Kotlin

¿Cuál sería el equivalente de Kotlin a este código de Java?

doAnswer(new Answer() { @Override public Object answer(InvocationOnMock invocation) throws Throwable { Design design = new Design(); GetDesign.Listener callback = (GetDesign.Listener) invocation.getArguments()[0]; callback.onSuccess(design); return null; } }).when(someRepository).getDesign(any(GetDesign.Listener.class)); 

[ACTUALIZACIÓN] Después de probar varias opciones, finalmente lo hice funcionar usando mockitokotlin . Creo que es la forma más cómoda de implementar doAnswer . La syntax sigue siendo casi la misma:

 doAnswer { callback = it.arguments[0] as AsyncCall.Listener callback.onSuccess("Hello!") null }.`when`(someRepository).execute(any()) 

El código completo y la configuration build.gradle se pueden encontrar en este repository

 doAnswer { val design = Design() val callback = it.arguments[0] as GetDesign.Listener callback.onSuccess(design) null // or you can type return@doAnswer null }.`when`(someRepository).getDesign(any(GetDesign.Listener::class.java))