смеющийся отложенный ответ сервера

У меня есть следующие модели 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) 

и следующий код в одном из моих тестов не работает:

 // 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) 

В частности, на линии Mockito. когда (roomMock.BookingData) с исключением:

org.mockito.exceptions.misusing.MissingMethodInvocationException: when () требует аргумент, который должен быть «вызовом метода на макет». Например: когда (mock.getArticles ()). ThenReturn (articles);

Кроме того, эта ошибка может возникнуть из-за того, что: 1. вы заглушите либо из методов: final / private / equals () / hashCode (). Эти методы не могут быть стерты / проверены. Способы отмывания, объявленные для нерусских родительских классов, не поддерживаются. 2. внутри, когда () вы не вызываете метод на mock, а на какой-то другой объект.

Я что-то упустил, это проблема Котлина, поскольку она завершает работу с гейтерами / сеттерами Java? Мне нужно аннотировать свойства модели Json с некоторой аннотацией, о которой я не знаю?