Как указать ложные дополнительные интерфейсы Mockito в Kotlin (используя nhaarman mockitokotlin2)

#kotlin #mockito #mockito-kotlin

#kotlin #mockito #mockito-kotlin

Вопрос:

Я понимаю, как указать дополнительный интерфейс с помощью @Mock аннотации, но как я могу создать макет и добавить extraInterfaces встроенный?

 @SmallTest
@RunWith(MockitoJUnitRunner::class)
class MyTestClass {
    
    @Mock(extraInterfaces = [MyCallback::class])
    lateinit var callbackFragment: Fragment
    ...
}
  

Но как я могу сделать это на лету?

 // this doesn't compile
val callbackFragment = mock<Fragment>(extraInterfaces = [MyCallback::class])
  

Каков правильный синтаксис для добавления extraInterfaces к макету Mockito в Kotlin?

Ответ №1:

Это должно сработать:

  val mock = mock<Fragment>(extraInterfaces = arrayOf(MyCallback::class))
  

Ответ №2:

Это тоже работает:

 @Mock(extraInterfaces = [MyCallback::class])
lateinit var fragment: Fragment