Android java.lang.IllegalStateException:capture()不能为null
我用参数捕捉器捕捉函数构造函数的输入字符串 这是我的测试功能:Android java.lang.IllegalStateException:capture()不能为null,android,unit-testing,android-studio,kotlin,mockito,Android,Unit Testing,Android Studio,Kotlin,Mockito,我用参数捕捉器捕捉函数构造函数的输入字符串 这是我的测试功能: @Test fun `saveTransferContact to local`(){ //Given val contact = faker.phoneNumber.toString() //When targetRepository.saveTransferContact(contact) //Then val argumentCaptor = ArgumentCaptor.f
@Test
fun `saveTransferContact to local`(){
//Given
val contact = faker.phoneNumber.toString()
//When
targetRepository.saveTransferContact(contact)
//Then
val argumentCaptor = ArgumentCaptor.forClass(String::class.java)
argumentCaptor.run {
verify(local).saveTransferContact(capture())
verifyNoMoreInteractions(local)
assertThat(value).isEqualTo(contact)
}
}
我像这样声明targetRepository和local的var
private val local: ContactLocalDataSource = mock()
private lateinit var targetRepository: ContactRepository
这是我的回购协议中的saveContact函数
fun saveTransferContact(contact: String) = local.saveTransferContact(contact)// at ContactRepository
fun loadTransferContact(): String? =
prefManager.getString(PreferenceConstants.Contact.PREF_KEY_TRANSFER_CONTACT) // at ContactLocalDataSource
我错过了什么?谢谢