2016-09-01 2 views
3

다음 테스트는 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" } 
    } 
} 

답변

4

AA.bbfinal입니다. final/private/equals()/hashCode() 메서드는 Mockito에 의해 스터브/검증 될 수 없습니다.

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

또한 nhaarman/mockito-kotlin: Using Mockito with Kotlin를 사용하는 것이 좋습니다 : 당신은 bbopen로 표시해야합니다. 예 :

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

    open class AA() { 
     val bb: String = "cc" 
    } 
} 
관련 문제