Я использую ArgumentCaptor с @ Captor аннотацией в Kotlin, как это
@Captor private lateinit var captor: ArgumentCaptor<MyObject>
@Mock private lateinit var mockObject: InnerObject
private lateinit var objectToTest: MyClass
@Before
fun setUp() {
MockitoAnnotations.initMocks(this)
objectToTest = MyClass(mockObject)
}
fun testSomething() {
objectToTest.doSomething()
verify(mockObject).callMethod(captor.capture())
assertThat(expectedResult, captor.value)
}
Метод callMethod () вызывается внутри doSomething () иЯ хочу захватить отправленный ему параметр.
Моя проблема в том, что я получаю:
java.lang.IllegalStateException: captor.capture() must not be null
Я попробовал тот же подход, используя java, и он работает, когда я конвертирую его в Kotlin, я получаю исключение.
Это связано с Kotlin?Или я не правильно использую @Captor?