【发布时间】:2022-01-07 17:18:29
【问题描述】:
我正在尝试通过检索简单的用户信息来测试数据库引用,我尝试模拟数据库引用并对其应用模拟逻辑,但由于某种原因它不起作用,通过失败,我还是新手mockito 如果有人可以帮助谢谢你,你能告诉我如何用 mockito 模拟 addValuelistener
- 这是我的代码
ServiceLocator
.db_reference
.child("Users")
.child(ServiceLocator.auth.currentUser!!.uid)
.addListenerForSingleValueEvent(object : ValueEventListener{
override fun onDataChange(snapshot: DataSnapshot) {
if(snapshot.exists()){
/// getting data
}
}
override fun onCancelled(error: DatabaseError) {
}
})
- 这是测试代码
@Test
fun h_testCaseGetUserInfoFromDB(){
val firebaseMock = mock(FirebaseAuth::class.java)
val databaseMock = mock(DatabaseReference::class.java)
ServiceLocator.auth = firebaseMock
ServiceLocator.db_reference = databaseMock
`when`(databaseMock.child("Users").child(firebaseMock.currentUser!!.uid).get()).thenReturn(
isNotNull())
}
【问题讨论】:
标签: android firebase android-studio kotlin mockito