burlarse de la respuesta anidada del server

Tengo los siguientes models de Json:

/** * Json model of room response */ open class JsonRoom(val BookingData: JsonRoomBookingData, val GeneralData: JsonRoomGeneralData) /** * Json model of room booking data */ open class JsonRoomBookingData(val BookingId: Int, val BookingStatus: Int, val RoomId: Int, val RoomName: String, val TimeFrom: Date, val TimeTo: Date, val TimeFromUtc: Date, val TimeToUtc: Date, val Isrecurrence: Boolean, val RecurrenceID: Boolean, val BookingSource: Int, val IsMultiRoom: Boolean, val canBeStarted: Boolean, val canBeClosed: Boolean, val canBeExtended: Boolean) /** * Json model of room general data */ open class JsonRoomGeneralData(val CountryID: Int, val FloorID: Int, val FloorNum: Int, val LocationID: Int, val MeetingTitle: String, val NumAttending: Int) 

y el siguiente código en una de mis testings está fallando:

 // Arrange // Setup room mock val roomBookingDataMock = Mockito.mock(JsonRoomBookingData::class.java) val roomGeneralDataMock = Mockito.mock(JsonRoomGeneralData::class.java) val roomMock = Mockito.mock(JsonRoom::class.java) Mockito.`when`(roomMock.BookingData) .thenReturn(roomBookingDataMock) 

En particular en la línea Mockito. when (roomMock.BookingData) con exception:

org.mockito.exceptions.misusing.MissingMethodInvocationException: when () requiere un argumento que tiene que ser 'una llamada a un método en un simulacro'. Por ejemplo: cuándo (mock.getArticles ()). ThenReturn (artículos);

Además, este error podría aparecer porque: 1. resides cualquiera de los methods: final / private / equals () / hashCode (). Esos methods no pueden ser trocados / verificados. Los methods de burla declarados en classs principales no públicas no son compatibles. 2. dentro cuando () no llamas al método en simulacro sino en algún otro object.

¿Me estoy perdiendo algo, es este un problema de Kotlin, ya que envuelve los getter / setters de Java? ¿Debo anotar mis properties de model Json con alguna anotación que no conozca?