Android 科特林测试火基
下午好 我刚从Kotlin开始,看看Firebase实时数据库。 如果我完成了单元测试,那么下面的代码可以工作,从而给Firebase时间来处理我假设的请求 如果我直接运行单元测试,则不会向Firebase写入任何内容 在结束测试之前,我应该如何让命令完成Android 科特林测试火基,android,kotlin,firebase-realtime-database,Android,Kotlin,Firebase Realtime Database,下午好 我刚从Kotlin开始,看看Firebase实时数据库。 如果我完成了单元测试,那么下面的代码可以工作,从而给Firebase时间来处理我假设的请求 如果我直接运行单元测试,则不会向Firebase写入任何内容 在结束测试之前,我应该如何让命令完成 object FirebaseHandler { init { println("Firebase class invoked.") initializeDbRef() }
object FirebaseHandler {
init {
println("Firebase class invoked.")
initializeDbRef()
}
private val TAG = "FirebaseHandler"
// [START declare_database_ref]
private lateinit var database: DatabaseReference
// [END declare_database_ref]
fun initializeDbRef() {
// [START initialize_database_ref]
database = Firebase.database.reference
val key = database.child("message").push().key
if (key == null) {
Log.w(TAG, "Couldn't get push key for posts")
} else {
Log.w(TAG, "Found the message key")
}
// [END initialize_database_ref]
}
fun HelloWorld() {
// Write a message to the database
database.child("message").setValue("Hello, World!")
}
fun CheckForHelloWorld() {
database.child("message").get().addOnSuccessListener {
Log.i(TAG, "Got value ${it.value}")
}.addOnFailureListener{
Log.e(TAG, "Error getting data", it)
}
}
}
你应该确保你所做的是有意义的,尤其是在编写测试时-你应该避免测试firebase,你可以假设它是有效的,你应该测试你用它做什么、你给它什么以及你期望得到什么的逻辑