Как использовать Mockk для настройки макета Firestore? - PullRequest
0 голосов
/ 31 марта 2019

У меня есть класс, содержащий методы, вызывающие методы коллекции 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. Я понятия не имею, как это сделать здесь.

...