Невозможно ли установить ожидания на ленивом свойстве?

Следующий тест дает NullPointerException . Невозможно ли установить ожидания на ленивом свойстве?

 class GarbTest { @Test fun xx(){ val aa = Mockito.mock(AA::class.java) Mockito.`when`(aa.bb).thenReturn("zz") } open class AA(){ val bb by lazy { "cc" } } } 

В вашем примере AA.bb является final . final / private / equals() / hashCode() не могут быть зашиты / проверены Mockito. Вам нужно отметить bb как open :

 open class AA(){ open val bb by lazy { "cc" } } 

Вы также можете рассмотреть использование nhaarman / mockito-kotlin: Использование Mockito с Kotlin . например:

 class GarbTest { @Test fun xx() { val aa = mock<AA>() { on { bb } doReturn "zz" } } open class AA() { val bb: String = "cc" } }