У меня есть класс, содержащий методы, вызывающие методы коллекции FirebaseFirestore. Я хотел бы провести их модульное тестирование, поэтому я попытался издеваться над FirebaseFirestore. Прямо сейчас я просто использую verify, чтобы проверить, были ли вызваны методы Firestore.
Мой метод:
fun addItem(item: Item) {
val TAG = "addItem"
db.collection("Items")
.add(item)
.addOnSuccessListener { documentReference ->
Log.d(TAG, "DocumentSnapshot added with ID: ${documentReference.id}")
}
.addOnFailureListener { e ->
Log.w(TAG, "Error adding document", e)
}
}
Мой тест:
@Test
fun addItem() {
val newItem = Item("1", "some data")
val path = "Items"
this.itemService.addItem(newItem)
verify(exactly = 1) { db.collection(path).add(any()) }
confirmVerified(db)
}
В C # я бы просто создал новый список и настроил макет для вызова методов списка, таких как добавление, удаление и т. Д., А затем проверил, есть ли в результате правильные числа, такие как count. Я понятия не имею, как это сделать здесь.